private不能用於修飾頂層類

2021-09-25 13:06:21 字數 342 閱讀 8831

原因: 對於頂層類(外部類)來說,只有兩種修飾符:public和預設(default)。

因為外部類的上一單元是包,所以外部類只有兩個作用域:同包,任何位置。

因此,只需要兩種控制許可權:包控制許可權和公開訪問許可權,

也就對應兩種控制修飾符:public和預設(default)。

但是private可以修飾class的,只不過該類不能使頂層類,

可以是內部類 內部類的上一級是外部類,那麼對應的有四種訪問控制修飾符:本類(private),同包(default),父子類(protected),任何位置(public)。

當乙個內部類使用了private修飾後,只能在該類的外部類內部使用

C 複製建構函式不能用 explicit 修飾

最近在寫的乙個 出現個莫名其妙的編譯問題。可以簡化成這樣 class foo explicit foo foo a private int m a int main 這個 編譯時總是提示 foo b x 這一行有問題。報的錯誤還很詭異。用 vs2015 報錯如下。error c2440 初始化 無法...

詳解C 不能用於檔名的字元

在 windows 有一些字元是不能作為檔名,嘗試重新命名乙個檔案,輸入 就可以看到windows 提示的不能作為檔名的字元 那麼具體是包括哪些符號不能作為檔名?上面這些字元不能用來檔名和資料夾名 而且在 windows 的要求,檔案是需要有檔名的,雖然你也可以建立.file這樣的檔案,但是使用者是...

為什麼貪心策略不能用於解決0 1揹包問題?

新人求讚啊!一般會使用的貪婪準則 價值vi,質量wi,每一項計算ri vi wi,即價值和質量之比,再按比值的降序來排序,從第一項開始裝揹包,然後是第二項,依次類推,盡可能的多放,直到裝滿揹包。反例 這種策略並不能保證得到最優解。利用此策略試解n 3 w 40,35,35 v 40,30,20 c ...