자바 접근 권한 상세 설명(3+1)public private proctected default

3100 단어 Java 접근 권한
자바 는 세 개의 키 워드 를 사용 하여 클래스 내부 에 접근 권한 을 설정 합 니 다:Public,private,proctected.이 접근 지정 어(access specifier)는 그 다음 에 정 의 된 구성원(방법 이나 속성)을 누가 사용 할 수 있 는 지 결정 합 니 다.Public 는 그 다음 요 소 는 누구 에 게 나 사용 할 수 있다 고 밝 혔 으 며,private 라 는 키 워드 는 유형 작성 자(클래스 내부 방문)와 유형의 내부 방법 을 제외 한 누구 도 접근 할 수 없 는 요 소 를 나타 낸다.private 는 클 라 이언 트 프로그래머 와 의 벽돌담 처럼 private 멤버 를 방문 하려 는 사람 이 있 으 면 컴 파일 할 때 잘못된 정 보 를 얻 을 수 있 습 니 다.
자바 에는 지정 한 단 어 를 사용 하지 않 았 을 때 기본 접근 권한 이 있 습 니 다.이러한 권한 은 일반적으로'패키지 접근 권한'이 라 고 불 린 다.이러한 권한 하에 서 클래스 는 같은 가방 에 있 는 다른 종류의 구성원 에 게 접근 할 수 있 지만 가방 외 에 이 구성원 들 은 private 를 지정 한 것 과 같 기 때문이다.
proctected 키 워드 는 기본 권한 과 비슷 합 니 다.차 이 는 가방 밖에서 계승 하 는 클래스 에서 만 proctected 멤버 를 방문 할 수 있 지만 기본 권한 멤버 에 게 접근 할 수 없습니다.
(이상 자바 프로 그래 밍 사상 중국어 제4 판 총 결 을 보 았 지만 영문 판 은 보지 못 했다.그러나 접근 권한 에 대한 해석 은 일부 옳지 않다.
어떤 책 을 읽 든 의 심 스 러 운 태 도 를 갖 고 보고 실천 하 는 것 이 도리 다.)
예:
1.테스트 클래스 내 접근:
package synnex.demo.access;

public class AccessDemo {
    
    public String name;
    private int age;
    protected String address;
    String phoneNumber;
    

    public AccessDemo() {
    }
    
    /**
     * @param name
     * @param age
     * @param address
     * @param phoneNumber
     */
    public AccessDemo(String name, int age, String address, String phoneNumber) {
        //            ,           。
        super();
        this.name = name;
        this.age = age;
        this.address = address;
        this.phoneNumber = phoneNumber;
    }

    public static void main(String[] args) {

        //main          ,             。
        AccessDemo demo = new AccessDemo();
        demo.name = "name";
        demo.age = 26;
        demo.address = "beijing";
        demo.phoneNumber = "13520968888";
        
    }

}
 
  
  
 2.包内的类访问: 
  
 
package synnex.demo.access;



public class PackageAccessDemo {
    public PackageAccessDemo() {
    }
    
    public static void main(String[] args) {
        AccessDemo demo = new AccessDemo();
        //        ,      private    ,           。
        demo.name = "namepackage";
//        demo.age = 26;
        demo.address = "shanghai";
        demo.phoneNumber = "222222222222";
    }

}

3.가방 외 계승 되 지 않 은 클래스 방문:
package synnex.demo;

import synnex.demo.access.AccessDemo;


public class AccessOutpackageDemo2 {
    public AccessOutpackageDemo2() {
    }

    public static void main(String[] args) {

        AccessDemo demo = new AccessDemo();
        //           ,  public            。
        demo.name = "out package no extends";
//        demo.age = 26; 
//        demo.address = "nanjing";
//        demo.phoneNumber = "13520968888";
    }

}

4.패키지 계승 클래스 방문:
4.567913.다음 그림 과 같이 요약 한다.
접근 수정자
동류
도맡아 하 다
가방
가방
private

 
 
 
protected



 
public




묵인


 

좋은 웹페이지 즐겨찾기