class Book{
protected int getPrice(){
return 30;
}
}
public class ComputerBook extends Book{
}
A) protected float getPrice(){}
B) protected int getPrice(int page){}
C) int getPrice(){}
D) public int getPrice(){return 10;}
重写(Overriding)
(1)若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。
如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
(2)子类函数的访问修饰权限不能少于父类的;
很显然:AB不满足(1)中的要求 C不满足是因为其没有写访问权限修饰符----也就是我们所说的Friendly.而在访问权限修饰符中从宽到严依次为:public protected friendly(没写的时候) private 由于(2)的约束.此时的C选项显然不对.
答案是D.
追问A,B可不可以认为是子类对父类方法的重载?