super和this的区别:
// 父类
public class Person {
public String name = "小卤蛋";
public void print(){
System.out.println("Person");
}
}
// 子类
public class Student extends Person{
private String name = "鲁班七号";
public void test(String name){ // 输出name的方法
System.out.println(name);
System.out.println(this.name);
System.out.println(super.name);
}
public void print(){
System.out.println("Student");
}
public void test2(){ // 输出方法
print();
this.print();
super.print();
}
}
// main方法
public static void main(String[] args) {
Student student = new Student();
student.test("鲁班七号");
student.test2();
}
总结:这里可以看出this是调用自己,super是调用父类。
super 和 this 的优先级:
总结:super 和 this 不能同时调用构造方法!因为this 和 super都必须在方法的第一行。
调用super,必须要有无参构造。(设置一个有参构造,就默认干掉了无参构造)
因为父类里面把无参构造干掉了,所以子类不可以调用。
总结:调用super,父类必须有无参构造。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- shangjiatang.cn 版权所有 湘ICP备2022005869号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务