액세스 권한 문자 :
(1) 공개 :
회원의 경우 : 동일한 패키지 나 다른 패키지에서 다른 클래스에서 액세스 할 수 있습니다.
수업의 경우 : 마찬가지입니다.
(2) 우호 :
기존 회원에게 : 클래스의 구성원에게 권한 수정이없는 경우, 해당 도어는 기본 패키지 액세스 권한입니다.
Java의 키워드는 아니지만 여기에 직접 표현하는 방법이 있습니다. 동일한 패키지의 다른 클래스에 액세스 할 수 있지만 패키지 외부에
불가능합니다. 패키지가없는 동일한 폴더에 있지 않은 클래스의 경우 Java는이 디렉토리에 속하는 디렉토리 아래에서 이러한 클래스를 자동으로 볼 수 있습니다.
기본 패키지는 클래스에서 친절한 회원에게 전화 할 수 있습니다. 예를 들어 다음 두 클래스는 각각 동일한 폴더의 두 파일에 있습니다.
패키지로 소개되지는 않지만 동일한 기본 패키지에 속합니다.
클래스 Sundae {// 다음 두 가지 방법은 친절한 sundae () {} void f () {System.out.println ( "sundae.f ()"); 문자열] args) {sundae x = new Sundae ();
수업의 경우 : 동일한 패키지의 클래스를 사용할 수 있습니다. 요컨대, 수업은 공개적이거나 친절하다고 선언 할 수 있습니다.
(3) 개인 :
회원의 경우 : 회원이 속한 클래스에만 액세스 할 수 있습니다.
클래스 Sundae {private sundae () {} // Sundae Class Sundae (int i) {} 정적 Sundae Makasundae () {return new Sundae (}}} public static void main (public static void main); String [] args) {// Sundae 클래스의 생성자 Sundae ()는 비공개이므로 초기화 할 수 없습니다. int) 친절합니다. sunae z = sundae.makasundae ();}} 호출 할 수 있습니다.
수업의 경우 : 수업은 비공개로 선언 할 수 없습니다.
(4) 보호 :
회원의 경우 : 동일한 패키지의 클래스는 액세스 할 수 있습니다 (패키지 액세스 권한)은 기본 클래스를 통해 기본 클래스의 멤버의 액세스 권한을 제공합니다.
(5) 기본값 (기본 권한)
클래스, 데이터 구성원, 건설적인 방법 및 메소드 멤버는 기본 권한을 사용할 수 있습니다. 즉, 키워드를 작성하지 않습니다. 기본 권한은 동일한 패키지 권한이며 동일한 패키지 권한의 요소는 클래스와 동일한 패키지의 클래스에서만 호출 할 수 있습니다.
예 : 패키지 C05.local;
import pack1.cookie; // 참고 : ChocolateChip은 쿠키와 같은 쿠키를 상속받습니다. 쿠키 클래스는 패키지에 있지 않으며 각각 쿠키 메소드의 액세스 권한을 대체하거나 보호해야합니다 개인 정보 요구 사항을 충족하지 않으므로 보호로 설정하는 것이 가장 좋습니다. 외부 클래스 호출에서 피할 수 있으며 개인 정보 클래스의 기능을 보호 할 수 있습니다. 공개 chocolatechip {public chocolatechip () {. System.out .println ( "ChocolateChip 생성자");} public static void main (string [] args) {new chocolatechip ();
PACKED PACK1; 공개 쿠키 {public Cookie () {System.out.println ( "쿠키 생성자");
클래스의 권한에 대한 더 나은 설명이 있습니다.
클래스 클래스의 액세스 권한 :
공개 : 모든 클래스 액세스에 사용할 수 있습니다.
기본값 : 기본값은 친절 할 수 있지만 Java 언어에는 친절한 수정자가 없습니다. 기본 액세스 권한은 패키지 레벨 액세스 권한입니다.
즉, 클래스가 Write Access Modifier없이 작성된 경우 기본 액세스 권한이 있으며 클래스에 인스턴스화 할 수있는 경우에도 동일한 패키지의 모든 클래스에 액세스 할 수 있습니다 (물론이 클래스가없는 경우에는이 클래스가 없습니다. 예를 들어,이 클래스를 인스턴스화하는 능력은 공개 생성자를 제공하지 않습니다).
설명 :
1. 각 컴파일 장치 (클래스 파일)는 하나의 공개 클래스 만 가질 수 있습니다.
2. 공개 클래스의 이름 (대문자 포함)은 클래스 파일과 동일해야합니다.
3. 클래스 파일 (*.java)이 존재하지 않을 수 있습니다.
이 형태의 존재 시나리오 : 패키지에 클래스를 작성하는 경우 패키지의 다른 클래스와 협력하는 것이며 고객에게 계정을 작성하고 싶지는 않습니다 (반드시 현실적인 의미를 가진 고객은 아닙니다. 이 클래스를 부르는 것은 두통 일 수 있으며 그것을 보는 것은 약간의 두통 일 수 있으며, 일정 기간 후에 원래의 연습을 완전히 바꾸고 이전 버전을 완전히 버리고 대체 할 수 있습니다. 새로운 버전.
4. 클래스는 비공개 또는 보호 할 수 없습니다.
5. 특정 클래스를 생성하는 객체를 원하지 않으면 모든 생성자를 비공개로 설정할 수 있습니다. 그러나 그럼에도 불구 하고이 클래스의 객체를 생성 할 수 있으며, 이는 클래스 정적의 멤버 (속성 및 방법)를 수행 할 수 있습니다.
포괄적 인 예 :
First.java :
패키지 번호; 공개 클래스 프리스트 (Public Class Frist) {hello "{String S2 ="Java "; ; 동일한 패키지의 클래스 및 서브 클래스는 패키지 테스트 공개 void show () {new test1 () {test1 () {test t = new test (). ;
산출:
Java Hello Test Hello Test