자바 접근 권한 상세 설명(3+1)public private proctected default
3100 단어 Java 접근 권한
자바 에는 지정 한 단 어 를 사용 하지 않 았 을 때 기본 접근 권한 이 있 습 니 다.이러한 권한 은 일반적으로'패키지 접근 권한'이 라 고 불 린 다.이러한 권한 하에 서 클래스 는 같은 가방 에 있 는 다른 종류의 구성원 에 게 접근 할 수 있 지만 가방 외 에 이 구성원 들 은 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
√
√
√
√
묵인
√
√