String類是否可以被繼承?

2021-10-01 11:07:55 字數 350 閱讀 2833

不可以被繼承,因為該類被定義成final.

用final定義的原因:

(1) 為了實現字串池。

(2) 為了執行緒安全

(3) 保證快取的hashcode不可變性,提高效能

string類為什麼是不可變的物件?

(1)字串池的實現可以節約很多heap空間,如果string是可變的,指向串池中同乙個物件的其他變數值也會發生改變

(2)因為string是不可變的,所以是多執行緒安全的,同乙個字串例項可以被多個執行緒共享,因為string的不可變性,執行緒安全。

(3)string在建立時,hashcode就被快取了,不需要重新計算。字串的不可變性保證了hash碼的唯一性。

C 中是否可以繼承String類

c 中是否可以繼承string類?答 string類是sealed類故不可以繼承。當對乙個類應用 sealed 修飾符時,此修飾符會阻止其他類從該類繼承。在下面的示例中,類 hovertree 從類 keleyi 繼承,但是任何類都不能從類 hovertree 繼承。class keleyi sea...

內部類可以被繼承

成員內部類 作為外部類的乙個成員存在,與外部類的屬性 方法並列。package outer public class outer public void outer f2 成員內部類中,不能定義靜態成員 原因是錯過了靜態的載入時期 成員內部類是在new外部類物件的時候載入的 成員內部類中,可以訪問外...

繼承父類私有成員是否可以修改

includeusing namespace std class base public void print a 1 cout 用public方法繼承父類的public成員函式和private私有成員變數,子類自己的成員函式print不能訪問繼承父類的私有變數,但是繼承的print函式可以訪問繼承...