细节:
- this关键字可以用来访问本类的属性,方法,构造器。
- this用来区分当前类的属性和局部变量。
- 访问成员方法的语句:this.方法名(参数列表)
- 访问构造器语法:this(参数列表);
- 注意:只能在构造器中使用。(即只能在构造器中访问另外一个构造器)
- 注意:访问构造器语法:this(参数列表)必须放在第一条语句
- (上句中暗含了只能使用一次,因为第二次使用该语句必不在第一条语句)
-
代码演示:
public class Main {
public static void main(String[] args) {
T t = new T();
t.f2();
t.f3();
}
}
class T{
String name = "abc";
int age = 111;
/* 访问构造器语法:this(参数列表);
* 注意:只能在构造器中使用。(即只能在构造器中访问另外一个构造器)
* 注意:访问构造器语法:this(参数列表)必须放在第一条语句
*/
public T(){
//在这里访问 T(String name, int age)
this("wty",19);
System.out.println("T()无参构造器调用");
}
public T(String name, int age){
System.out.println("T(String name, int age)造器调用");
}
//访问成员方法的语句:this.方法名(参数列表)
public void f1(){
System.out.println("f1()方法……");
}
public void f2(){
System.out.println("f2()方法……");
//调用本类的f1()方法
//方法一:
f1();
//方法二:
this.f1();
}
//this关键字可以用来访问本类的属性
public void f3(){
String name = "局部优先";
//传统方式(局部变量优先)
System.out.println("name = " + name + " age = " + age);
//也可以通过this访问属性
System.out.println("this.name = " + this.name + " this.age = " + this.age);
}
}