> Java > java지도 시간 > 본문

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

WBOY
풀어 주다: 2023-09-12 19:21:03
앞으로
1408명이 탐색했습니다.

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으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!