super关键字:
在子类对象内部使用,可以代表父类对象。
1.访问父类的属性
例:super.name
2.访问父类的方法
例:super.eat()
super的应用
(1)通过子类的构造方法创建子类对象时,必须先调用其父类的构造方法。
(2)如果子类的构造方法没有显式的调用父类的构造方法,则系统默认调用父类无参的构造方法。
(3)如果显式的调用构造方法,必须在子类的构造方法的第一行。
public Dog(){
super();//如果显式的调用父类构造方法,super()必须放在子类的构造方法的第一行
System.out.println("Dog类的构造方法执行了!");
}
如果super();没有放在子类构造方法的第一行,则会报错:
(4)如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。
(详情见上一篇博客:《 继承中,父类和子类构造方法初始化所遇问题 》https://my.oschina.net/u/3421709/blog/885483)