關於protected修飾詞的思考

2021-08-19 22:49:40 字數 977 閱讀 3523

先貼出protected的訪問區間:同一包內或者在其子類中訪問。

雖然很簡單的話但是對於乙個初學者來說似乎會存在一些誤解(沒有細細考究之前我也是如此),而這個誤解在**呢,先看幾行簡單的再不能簡單的**:

package tesst;

public class test1

}

package tesst;

public class test2 extends test1

}

package tesst;

public class test3

}

上邊三個類都是處在同乙個包裡邊,上邊程式是不存在任何問題的,在類test2中體現的是子類中訪問父類test1中的受保護方法,合情合理,不存在問題。test3中體現的是同一包下訪問test1中的受保護方法(注:這裡並不能體現在子類中訪問父類的受保護方法,因為test3不是test1的子類),合情合理,不存在問題。

however,當我把test3改寫成如下**時,會出現語法錯誤:

package t;//這裡發生了改動

import tesst.test2;

public class test3

}這裡發生了改動

原因在於以上**既不能體現包內訪問也不能體現子類中訪問。而我上邊提到的誤解在於,有人可能會這樣思考(之前我也是這麼想的):test2是test1的子類,test2的例項呼叫print()方法不是合情合理嗎?注意這裡需要細究的是,在其子類中訪問。

關於修飾詞const

1.const修飾的唯讀變數必須在定義的同時初始化 因為如果沒有被賦初值,那麼變數被編譯器分配了乙個空間,並且賦給預設的乙個值,一般是很大的乙個負數,當我們再次給這個const變數賦值的時候就會出現錯誤,這個變數是唯讀的,一旦被賦值了就不能再改變了。2.case後面不可以是const修飾的唯讀變數,...

ios修飾詞總結

ios總共有這些修飾詞 assign weak strong retain copy nonatomic atomic readonly readwrite assign arc mrc weak arc 物件 弱指標是針對物件的修飾詞 就是說它不能修飾基本資料型別 int float weak 修...

常用Java修飾詞

1.public 使用物件 類 介面 成員 介紹 無論它所處在的包定義在哪,該類 介面 成員 都是可訪問的 2.private 使用物件 成員 介紹 成員只可以在定義它的類中被訪問 3.static 使用物件 類 方法 字段 初始化函式 介紹 成名為static的內部類是乙個頂級類,它和包含類的成員...