關於java子類繼承以及final問題總結


(1)子類和父類如果在同一個包內,則子類可以繼承父類的除private以外的所有成員變量和方法,並且權限不變;

(2)子類和父類如果不在同一個包內,則子類可以繼承父類的public和protected權限的成員變量和方法,不能繼承友好型和private;

(3)protected 的進一步說明:

若有一個A類,B類是A類的子類,C類是B類的子類,則C類繼承了A類的protected的成員變量和方法;

若C類本身創建一個對象,可以用這個對象訪問繼承來的或者自己定義的protected成員變量和方法;

若在其他類里創建一個對象:對於C類自己定義的成員變量和方法,只要這個其他類和D類在同一個包里,那么就可以通過D類創建的對象訪問自定義的protected;

對於C類繼承自父類的protected,要追溯到“祖先類”A類,若這個其他類和A類同包,則可以通過對象訪問繼承來的protected。

(4)隱藏和重寫:子類的成員變量和父類的成員名字相同的時候,繼承自父類的成員變量被隱藏;通過重寫繼承自父類的方法可以隱藏繼承自父類的方法;隱藏后想要調用繼承自父類的方法用關鍵字super.子類重寫父類方法,訪問權限可以增加或不變,但絕不能減低。

(5)final關鍵字:final修飾類,類不能被繼承;final修飾方法,方法不能重寫;final修飾變量,變量是常量,必須賦初值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM