文章目录
前言
前面博客中讲到,类在定义成员方法时,局部变量和成员变量可以重名,但此时不能访问成员变量。为避免这种情形,Java提供了this关键字,表示当前对象,指向调用的对象本身。下面我们一起学习this关键字
一、使用this调用类中的属性
代码如下(示例)
class student{
int scores;
private int age;//私有属性
String name;//属性
public student(int scores,int age,String name )//构造一个方法
{
this.scores = scores ;
this.age = age;
this.name = name;
}
public void print(){//方法
System.out.println("scores="+this.scores+",age="+this.age+",name="+this.name);
}
}
public class Thistext {
public static void main(String[] args) {
student p1 =new student(99,18,"锐捷");
p1.print();
}
}
•this关键字可以明确调用类的成员变量,不会与局部变量名发生冲突。
二、使用this调用成员方
代码如下(示例)
class person{
private int age;
private String name;//声明私有属性
public person(){
System.out.println("无参构造方法\n");
}
public person(int age,String name){
this();//调用无参构造方法
System.out.println("调用有参构造方法\n");
this.age = age;
this.name = name;
}
public void print(){
System.out.println("age="+this.age+",name="+this.name);
this.say();//调用成员方法
}
public void say(){
System.out.println("调用成员方法");
}
}
public class Testthis {
public static void main(String[] args) {
person datas = new person(18,"迅捷");
datas.print();
}
}
三、使用this调用构造方法
代码如下(示例):
class person{
private int age;
private String name;//声明私有属性
public person(){
System.out.println("无参构造方法\n");
}
public person(int age,String name){
this();//调用无参构造方法
System.out.println("调用有参构造方法\n");
this.age = age;
this.name = name;
}
public void print(){
System.out.println("age="+this.age+",name="+this.name);
}
}
public class Testthis {
public static void main(String[] args) {
person datas = new person(18,"迅捷");
datas.print();
}
}
总结
this关键字是一个引用,this是一个变量,this变量中保存了内存地址指向了自身,this存储了JAM堆内存中Java对象的内部。需要注意的一点是:在构造方法中,使用this调用构造方法的语句必须位于首先,且只能出现一次。