super关键字
super:表示父类中的内容
this:表示自己类中的内容
用super和this来区分父类和子类中重名的内容
创建对象的过程:先创建父类的对象,然后创建子类的对象
public class Hero {
String name="英雄";
public Hero(String name){
System.out.println("我是父类的构造方法");
this.name=name;
}
}
public class SunWuKong extends Hero{
String name="孙大圣";
public SunWuKong(){
//super();
super("武大郎");//还原程序,在子类构造方法的第一行,默认调用父类的构造方法
System.out.println("我是子类的构造方法");
}
public void chi(){
//想看到父类中的name
System.out.println(super.name);
//先找自己类,然后找父类
System.out.println(this.name+"在吃桃子");
}
public static void main(String[] args) {
SunWuKong s=new SunWuKong();
s.chi();
}
}
运行结果
我是父类的构造方法
我是子类的构造方法
武大郎
孙大圣在吃桃子
Process finished with exit code 0
小总结
1.super可以获取到父类中的内容
2.可以调用父类中的构造方法,必须写在子类构造方法的第一行。如果父类的构造是无参数的,可以不写。如果父类没有无参数的构造,必须要写super
(自主学习,侵权可删)