舉反例來進行說明,咱們就讓子類重寫的方法的權限的修飾符小於父類對應方法的修飾權限分析一下會怎么樣。
class A{
public void m(){}
}
class B extends A{
private void m(){}
}
A a=new B(); // a對象的聲明是A類,所以a對象能干什么要看A類,A類告訴a對象有一個m方法可以使用,而且m方法可以再任何地方使用
a.m(): //a對象本質上是B類來創建的,所以m方法分執行要看B類,B類告訴a對象m方法只能在本類中使用------產生沖突
————————————————
版權聲明:本文為CSDN博主「java_Trainees」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/java_Trainees/article/details/118739258