的方法,我想知道:爲什麼 重寫的方法不能比方法更嚴格的訪問修飾符被重寫?覆蓋有更嚴格的訪問修飾符
例如:
class Animal{
public void eat(){
System.out.println("Generic Animal Eating Generically");
}
}
class Horse extends Animal{
public void eat(){
System.out.println("Horse eating hay, oats, and horse treats");
}
}
在馬類,我爲什麼不能寫這樣的代碼:
private void eat(){
System.out.println("Horse eating hay, oats, and horse treats");
}
或
protected void eat(){
System.out.println("Horse eating hay, oats, and horse treats");
}
你應該標註一個重寫的功能與''@Override因爲 – baao
那麼你不能叫'獸獸=新馬(); animal.eat()'因爲'eat()'方法是私有的。但「動物」類宣稱它是公開的。這沒有意義。 – Gondy