⭐ 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()互相调用