아니요 , 최상위 클래스를 private 또는 protected로 선언할 수 없습니다. public 또는 default(수정자 없음)일 수 있습니다. 수정자가 없으면 기본 액세스 권한이 있어야 합니다.
// A top level class public class TopLevelClassTest { // Class body }최상위 클래스가 private으로 선언되면 컴파일러는 오류를 보고하고 "여기에서는 private 수정자가 허용되지 않습니다"라는 메시지를 표시합니다. 이는 최상위 클래스가 비공개일 수 없으며 protected 액세스 수정자에도 동일하게 적용된다는 의미입니다. 보호된다는 것은 동일한 패키지의 모든 클래스는 물론 하위 클래스가 다른 패키지에 있더라도 해당 멤버에 액세스할 수 있음을 의미합니다. 최상위 클래스는 public, abstract 및 final 수정자만 가질 수 있으며 클래스 수정자를 정의하지 않을 수도 있습니다. 이를 기본/패키지 액세스라고 합니다. 내부 클래스를 private 또는 protected로 선언할 수 있지만 외부 클래스에서는 허용되지 않습니다. classes.
Live Demonstration
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 여기서는 허용되지 않습니다 . 따라서 위의 코드는 실행되지 않습니다.
modifier protected not allowed here
Live 데모
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에서는 최상위 클래스를 보호 또는 비공개로 선언할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!