super关键字:
- 我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
this关键字:
- 指向自己的引用。
注意事项
- this和super在调用构造方法时,必须出现在构造方法的第一行
- 当构造方法中不调用别的构造时,系统会默认调用父类的空参构造,当我们手动调用构造后,系统就不会再调用父类的空参构造了
- 每个构造方法中只能调用一个this或super
简单的例子
代码语言:javascript复制class Animal {
void eat() {
System.out.println("animal : eat");
}
}
class Dog extends Animal {
void eat() {
System.out.println("dog : eat");
}
void eatTest() {
this.eat(); // this 调用自己的方法
super.eat(); // super 调用父类方法
}
}
//调用测试
public class Test {
public static void main(String[] args) {
Animal a = new Animal();
a.eat();
Dog d = new Dog();
d.eatTest();
}
}
this和super访问构造方法:
代码语言:javascript复制this() 调用本类的无参构造
this(参数) 调用本类的有参构造
super() 调用父类的无参构造
super(参数) 调用父类的有参构造
太简单了,代码这里就不写了