@Override注解可以帮助检查父类中是否有该方法,但不加@Override,子类也可以复写父类的方法,且可以使用父类的引用调用该方法。
class A {
public void sayInA(int p ){
System.out.println("In A:"+p);
}
public void sayInAA(int p ){
System.out.println("In A:"+p);
}
}
class B extends A{
public B(){
super();
System.out.println("say some thing");
}
public void sayInA(int p ){
System.out.println("In B:"+p);
}
} public static void main(String[] args) {
A b = new B();
b.sayInA(5);
}output:
In B:5
class B extends A{
public B(){
super();
System.out.println("say some thing");
}
public void sayInA(int p ){
System.out.println("In B:"+p);
super.sayInAA(p);
super.sayInAA(p);
}
}另外,在子类中可以任意调用父类的方法,但在子类的构造方法中,如果要调用父类的构造方法,那必须放在首行,因为父类在构造方法要初始化,子类在构造方法中可能会用到父类初始化的变量。
本文通过示例代码展示了Java中如何进行方法复写,包括使用@Override注解及父类方法的调用方式,并解释了子类如何通过父类引用调用自身的方法实现。
730

被折叠的 条评论
为什么被折叠?



