(1)子类可以继承父类的所有方法和属性,但是有时候,子类需要修改父类中定义的方法的实现,这就是方法覆盖
(2)子类会继承父类的private方法,但是子类可以覆盖父类的private方法吗?
不能,只有能被子类访问的方法,才能被子类覆盖。
(3)静态方法只能被隐藏,不能被覆盖。代码示例:
public class Super {
public String getName(){
return "Richard";
}
public static String greeting(){
return "Good night";
}
}
public class Sub extends Super {
public String getName(){
return "Dick";
}
public static String greeting(){
return "Hello";
}
}
public class Test {
public static void main(String[] args) {
Super s1=new Sub();
System.out.println(s1.greeting()+","+s1.getName());
Sub s2=new Sub();
System.out.println(s2.greeting()+","+s2.getName());
}
}
运行结果:
Good night,Dick
Hello,Dick
本文探讨了子类如何通过方法覆盖来改变从父类继承的行为,并解释了为什么子类无法覆盖父类的private方法。此外,还说明了静态方法在继承中的特性——它们只能被隐藏而非覆盖。
1129

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



