【Java this关键字】如何使用以及注意点 访问成员变量,访问成员方法,构造方法内调用构造方法

简介: 【Java this关键字】如何使用以及注意点 访问成员变量,访问成员方法,构造方法内调用构造方法


⭐ this 关键字的作用

在 Java 中,this指针是一个 关键字 ,它用于引用当前对象🤲。当方法的参数和对象的字段具有相同的名称时,this关键字可以用于 标识 哪个变量是指对象的字段,哪个是方法的参数

📃 具体来说,当使用this时,它指的是当前对象的引用。

⭐ this 注意点

☆ this 在 Java 中并不是指针的意思

☆ this在这里只是一个简单的指向作用,谁调用它,就指向谁

☆ 一般来说 Java 程序中 如果方法的参数与类成员变量重名,希望在方法内部调用成员变量,怎么办呢,这时候就要使用this关键字,若方法参数不与当前类成员变量重名时,则可以省略 this ,不过为了增强代码可读性,建议方法参数与被调用多个成员变量名称相同,即使用 this 。

⭐ this 用法

⭐ Java 中的 this 必须放在非静态方法内, this 代表自身, 在 Java 程序内用法主要有以下几种用法

1. 访问成员变量
this.data;
2. 访问成员方法
this.function();
3. 使用this在构造方法内引用其它构造方法
this();

访问成员变量

public class DefaultClass {
  String name;
  int age;
  String address;
  // 构造方法
  public DefaultClass(String name, int age, String address) { // java构造方法:给重要属性赋初始值
    this.name = name;
    this.age = age;
    this.address = address;
  }
  // get方法
  public String getName() {
    return this.name;
  }
  // set方法
  public void setName(String name) {
    this.name = name;
  }
}

访问成员方法

public class DefaultClass {
  // 方法1
  public void default1() {
    System.out.println("我是方法1");
  }
  // 方法2
  public void default2() {
    // this访问方法1
    this.default1();
    // 这里的this可省略,效果一样
    // Default1(); 
  }
}

在构造方法内调用构造方法

public class DefaultClass {
  String name;
  // 无参构造器
  public DefaultClass() {
    System.out.println("我是无参构造器");
  }
  // 有参数的构造方法
  public DefaultClass(String names) {
    // 调用无参构造fangfa
    this();
    this.name = name;
    System.out.println("我是有参数构造器");
  }
  // get方法
  public String getName() {
    System.out.println("姓名为:", name);
  }
  // 程序入口函数
  public static void main(String[] args) {
    // 类实例化
    DefaultClass d = new DefaultClass();
    d.DefaultClass("dongfang_project");
    d.getName();
  }
}

不出意外的话程序输出

我是无参构造器
我是有参数构造器
姓名为:dongfang_project

注意: 只能在构造方法中使用this()调用其他的构造方法,在构造方法中使用this()调用构造方法的语句必须位于当前构造函数的第一行,只能出现一次, 不能在一个类中的两个构造方法中使用this()互相调用

相关文章
|
1月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
335 4
|
1月前
|
Java 编译器 Go
【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
196 4
|
3月前
|
存储 安全 Java
java: 无法访问org.springframework.ldap.core.LdapTemplate
java: 无法访问org.springframework.ldap.core.LdapTemplate
131 9
|
5月前
|
缓存 Java 数据库
Java 访问修饰符使用方法与组件封装方法详细说明
本文详细介绍了Java中访问修饰符(`public`、`private`、`protected`、默认)的使用方法,并结合代码示例讲解了组件封装的核心思想与实现技巧。内容涵盖数据封装、继承扩展、模块化设计与接口隔离等关键技术点,帮助开发者提升代码的可维护性与安全性,适用于Java初学者及进阶开发者学习参考。
139 1
|
9月前
|
缓存 安全 Java
Volatile关键字与Java原子性的迷宫之旅
通过合理使用 `volatile`和原子操作,可以在提升程序性能的同时,确保程序的正确性和线程安全性。希望本文能帮助您更好地理解和应用这些并发编程中的关键概念。
247 21
|
8月前
|
存储 算法 安全
Java对象创建和访问
Java对象创建过程包括类加载检查、内存分配(指针碰撞或空闲列表)、内存初始化、对象头设置及初始化方法执行。访问方式有句柄和直接指针两种,前者稳定但需额外定位,后者速度快。对象创建涉及并发安全、垃圾回收等机制。
121 0
Java对象创建和访问
|
8月前
|
Java C语言
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。
168 4
|
8月前
|
Java
java构造方法,构造代码块,静态代码块的执行顺序
本文介绍了Java中构造方法、构造代码块和静态代码块的执行顺序。静态代码块用`static`声明,在JVM加载类时执行一次;构造代码块在每次创建对象时执行,先于构造方法;构造方法用于对象初始化,创建对象时调用。示例代码展示了这三者的输出顺序,并解释了它们的区别和应用场景。
265 1
|
7月前
|
存储 安全 Java
深入理解 Java 中的 instanceof 关键字
本文深入解析了 Java 中的 `instanceof` 关键字,探讨其在类型判断中的作用。作为二元操作符,`instanceof` 可用于检查对象是否为某类实例或实现特定接口,避免类型转换异常 (`ClassCastException`)。文章通过多态性下的类型判断、安全类型转换、接口实现检测及集合元素类型判定等实际应用场景,展示了 `instanceof` 的强大功能。掌握该关键字可提高代码健壮性,确保运行时类型安全。
563 0
|
Java C++ Python
Java 的关键字 final 和 static
Java 中最经典 final 修饰的类就是 String 了,它无法被任何类继承,不仅仅是为了保证 String 的不变性,同时在早期的 Java 版本中会将 final 修饰的方法转化为内嵌调用,提高程序性能(后来的 Java 会自动进行优化,不需要显式地用 final 修饰)。不过要注意的一点是,final 修饰的引用变量,其指向的对象的内容是可以被改变的。final 修饰符可以用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
273 0
下一篇
oss云网关配置