方法的名称参数必须完全相同
只满足名称相同,就不是覆盖是重载
原则上如果覆盖成功,那么使用子类对象时,方法的所有属性都以覆盖后的为准
修饰符完全相同的覆盖
子类oa.a 调用的是子类的a的方法
1子类的方法的访问权限可以与父类的不相同,但只允许权限更宽松,而不允许更严格
2返回值的数据类型不相同的情况
是不行的 错误的 编译错误
3final修饰符的不同
若父类方法是final 子类是不能覆盖的 但父类不是final 子类可以是final
4不允许父类和子类方法的static修饰符发生变化
构造方法的继承机制
即使子类没有写调用父类的无参构造方法 ,子类也会自动调用
不会自动调用无参构造方法
super
super的一般用法
super.变量名
super.方法名
super.(参数列表)
注意super只能在子类中用于调用父类的成员或构造方法
1super可以引用父类的成员
2super引用被覆盖的父类方法
子类中 showMsg()调用本类的方法
super.showMsg()调用父类的方法
使用super调用父类的构造方法
1它只能用在构造方法中
2它只能是第一条执行语句
3一个构造方法中只能有一条super语句
public class A extends B{
public A(){
super(100); 调用父类带参数的构造方法
}
}
一旦显示地使用super来调用父类的构造方法,系统就不会再自动调用父类无参数的构造方法