不,我們不能將頂層類別宣告為私有或受保護。它可以是公共或預設(無修飾符)。 如果沒有修飾符,則應該具有預設存取權限。
// A top level class public class TopLevelClassTest { // Class body }如果將一個頂級類別宣告為私有(private),編譯器將會報錯,提示「在此處不允許使用修飾符private」。這意味著頂級類別不能是私有的,同樣也適用於protected存取修飾符。 protected意味著該成員可以被同一個套件中的任何類別以及子類別訪問,即使它們位於另一個套件中。 頂層類別只能有public、abstract和final修飾符,也可以不定義任何類別修飾符。這被稱為預設/包存取權限。 我們可以將內部類別聲明為私有或受保護,但不允許在外部類別中這樣做 classes.
即時示範
protected class ProtectedClassTest { int i = 10; void show() { System.out.println("Declare top-level class as protected"); } } public class Test { public static void main(String args[]) { ProtectedClassTest pc = new ProtectedClassTest(); System.out.println(pc.i); pc.show(); System.out.println("Main class declaration as public"); } }
在上面的範例中,我們可以將類別宣告為protected,它會拋出一個錯誤,提示修飾符protected不允許在此使用。因此,上面的程式碼不會執行。
modifier protected not allowed here
即時示範
private class PrivateClassTest { int x = 20; void show() { System.out.println("Declare top-level class as private"); } } public class Test { public static void main(String args[]) { PrivateClassTest pc = new PrivateClassTest(); System.out.println(pc.x); pc.show(); System.out.println("Main class declaration as public"); } }
在上面的範例中,我們可以將類別宣告為private,它會拋出一個錯誤,表示這裡不允許修飾符private 。所以上面的程式碼不會執行。
modifier private not allowed here#
以上是在Java中,我們可以將頂級類別聲明為protected或private嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!