>  기사  >  Java  >  Java에서는 최상위 클래스를 보호 또는 비공개로 선언할 수 있나요?

Java에서는 최상위 클래스를 보호 또는 비공개로 선언할 수 있나요?

WBOY
WBOY앞으로
2023-09-12 19:21:031437검색

Java에서는 최상위 클래스를 보호 또는 비공개로 선언할 수 있나요?

아니요 , 최상위 클래스를 private 또는 protected로 선언할 수 없습니다. public 또는 default(수정자 없음)일 수 있습니다. 수정자가 없으면 기본 액세스 권한이 있어야 합니다.

Syntax

// A top level class
   public class TopLevelClassTest {
      // Class body
}
최상위 클래스가 private으로 선언되면 컴파일러는 오류를 보고하고 "여기에서는 private 수정자가 허용되지 않습니다"라는 메시지를 표시합니다. 이는 최상위 클래스가 비공개일 수 없으며 protected 액세스 수정자에도 동일하게 적용된다는 의미입니다. 보호된다는 것은 동일한 패키지의 모든 클래스는 물론 하위 클래스가 다른 패키지에 있더라도 해당 멤버에 액세스할 수 있음을 의미합니다. 최상위 클래스는 public, abstract 및 final 수정자만 가질 수 있으며 클래스 수정자를 정의하지 않을 수도 있습니다. 이를 기본/패키지 액세스라고 합니다. 내부 클래스를 private 또는 protected로 선언할 수 있지만 외부 클래스에서는 허용되지 않습니다. classes.
  • Java 소스 파일에는 여러 개의 최상위 클래스를 정의할 수 있지만 최대 하나의 public 최상위 클래스 문만 있을 수 있습니다. 파일 이름은 공용 클래스의 이름과 일치해야 합니다.
  • 클래스를 보호됨으로 선언

    Example

    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 여기서는 허용되지 않습니다 . 따라서 위의 코드는 실행되지 않습니다.

    Output

    modifier protected not allowed here

    클래스를 비공개로 선언

    Example

    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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제