一、this调用本类的属性
当参数与类中属性同名时,类中属性无法被正确赋值。此时使用this关键
给对象属性赋值。
public Student (String n,int a){
this.name=n;
this.age=a;
}
二、 this调用本类的方法
this调用构造方法的语句必须在构造方法首行,即使包含普通方法
(1)调用普通方法this .普通方法名称(参数)
public Student (String n,int a,int high){
this(n,a);
this.high=high;
this.test();
}
(2)调用构造方法this(参数)
一个类中本身包含无参的构造方法,一般不需要在代码中写出,除非new了一个不带参数的对象,这时候必须写出,比如Student s=new Student()
当类被实例化时,无参构造方法先执行
public Student(){
System.out.println("无参构造");
}
// this调用构造方法的语句必须在构造方法首行
public Student(String name){
this();//调用本类无参构造
this.name=name;
}
public Student(int age,String name){
this(name);//调用本类有参构造
this.age=age;
}
三、this表示本类的对象
只要对象调用了本类中的方法,这个this就表示当前执行的对象
四、this和super的区别
区别 | this | super |
---|---|---|
概念 | 访问本类中的属性和方法,表示对象 | 由子类访问父类的属性、方法 |
查找范围 | 先找本类,本类中没有的话就看父类,父类中也没有的话就编译错误 | 直接查找父类 |