(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修飾變量,變量是常量,必須賦初值。