1. 程式人生 > 其它 >繼承與訪問許可權

繼承與訪問許可權

技術標籤:java

繼承

什麼是繼承

類似於兒子繼承父親的所有財產,在java中,為了提高程式碼的
利用率,將某個類(父類)的所有屬性和方法(不包括構造
方法)都直接讓另一個類(子類)使用的方式叫做繼承;

基本語法規則

class 子類 extends 父類 { 
 
} 
1、使用 extends 指定父類.

2、Java 中一個子類只能繼承一個父類 ,即單繼承(而C++/
Python等語言支援多繼承).為了實現多繼承,java提供了介面。

3、子類會繼承父類的所有欄位和方法包括private修飾的、但
對於父類的 private 的欄位和方法, 子類中是無法訪問的.

4、子類的例項中, 也包含著父類的例項. 可以使用 super 關鍵
字得到父類例項的引用.

5、我們稱被繼承的類為父類 , 基類 或 超類, 對於繼承的類, 
我們稱為 子類, 派生類

6、子類繼承不了的---構造器(構造方法)。對於構造器而言,
它只能夠被呼叫,而不能被繼承。 呼叫父類的構造方法我們
使用super()即可。

7、繼承一般不超過三層的繼承關係。

8、用final修飾的類叫做密封類,不能被子類繼承。

9、子類構造的時候必須先幫助父類進行構造,即在子類的構造
方法內部呼叫父類的構造方法,即super();且放在之類構造
方法的第一行並只能寫一句;
super()顯示的呼叫父類的構造方法,所以構造方法不能被繼承。
super對父類物件的引用,且不能再靜態方法中使用

訪問許可權

Java 中對於欄位和方法共有四種訪問許可權
1、private:你無法訪問,僅 類內部能訪問, 類外部不能訪問
2、預設訪問許可權也叫包訪問許可權: 類內部能訪問, 同一個包中的類
可以訪問, 其他類不能訪問.
3、protected,繼承訪問許可權: 對於類的呼叫者來說, protected 修飾的欄位
和方法是不能訪問的對於類的 子類 和 同一個包的其他類 
來說, protected 修飾的欄位和方法是可以訪問的
4、public:所有的都可以訪問

在這裡插入圖片描述

取得對某成員的訪問權的唯一途徑:

1、使該成員成為public。於是,無論是誰,無論在哪,都可以
訪問該成員。
2、通過不加訪問許可權修飾詞並將其他類放置於同一個包內的
方式給成員賦予包訪問權。於是包內的其他類也就可以訪
問該成員了。
3、繼承而來的類既可以訪問public成員也可以訪問protected
成員。只有在兩個類都處於同一個包內時,它才可以訪問
包訪問許可權的成員。
4、提供get/set方法。對OOP而言,這是最優雅的方式,也是
JavaBean的基本原理。