扬州java培训机构哪个好
扬州,广陵2023-04-21 11:40:46
5 次浏览小百姓16022047250
公司名称:上元教育
具体地点:扬州市广陵区汶河北路21号上元教育(万家福往北200米
联系人:上元教育
this 关键字和 super 关键字的区别是什么?this、super 分别用在哪里?
(1)this 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。
public class Clazz { private int a;
protected int b; public Clazz() {
}
public Clazz(int a, int b) {
// 4、在构造方法中调用本类的另一种构造方法
// 应该写在构造方法第一句
this(); this.a = a; this.b = b;
}
public int getA() { return a;
}
public void setA(int a) {
//3.用于区分和局部变量重名的成员属性
this.a = a;
}
public int getB() { return b;
}
public void setB(int b) { this.b = b;
}
public void method1() {
// 1、访问当前类的属性
int aa = this.a;
// 2、访问当前类的方法
this.method2();
}
public void method2() {
}
}
(2)super 可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己 近的一个父类。
class ClazzSub extends Clazz { protected int b;
public ClazzSub() {
// 4、子类构造器中调用父类构造方法
// 如果不写则默认调用父类的非私有化无参构造
// 如果父类没有非私有无参构造,则编译失败
// 调用父类构造器的语句要写在子类构造第一句
super();
}
public int getB() {
return b;
}
public void setB(int b) { this.b = b;
}
@Override
public void method2() {
// 1、super访问父类的属性
int bb = super.b;
// 2、super访问父类的方法
super.method2();
// 3、子类和父类存在同名的属性或方法,可以通过 super 和 this 进行区分
}
}
以上就是Java面试题,想了解更多关于Java的知识点,欢迎随时来上元IT咨询
联系电话:15050782623