一、this的使用
•Java关键字this只能用于方法体内。
•当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。
•因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this(static、final 解释)。
•this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。
二、this的三种用法
1
、表示
对
当前对象的引用
!
2
、表示
用类的
成员变量
,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特 例,比较常用,所以那出来强调一下。
3、
用于
在构造方法中引用满足指定参数类型的构造器(其实也就是
构造方法
)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!
三、代码举例
①
上述代码运行结果为:
②this() 调用自己的构造方法
class Person{
String name;
int age;
Person(String name){
this.name=name;
}
Person(){
}
Person(String name,int age){
//this.name=name;
this(name);// this();调用自己的构造方法
// 只能放在第一行。
// 防止设置的数据被修改
this.age=age;
}
void eat(){
System.out.println(name+"吃");
}
void showAge(){
System.out.println(name+"的年龄:"+age);
}
}