보통 클래스의 Default 액세스 한정자는 패키지 전용 이며 내부 Local 클래스 또는 내부 익명의 개인용입니다. 하지만 내 멤버에게는 private 멤버가 맘에 들지 않습니다. 우리가 컨테이너 클래스 외부에서 그것을 보려고 할 때 그래서 private입니까 아니면 private 패키지입니까?Member Class 액세스 한정자
0
A
답변
1
처럼 팀 B는 기본적으로 모든 진술 (모든 것이 기본적으로 공개 인터페이스를 제외하고)
는 인터페이스에서 제외하고, 패키지 비공개입니다.다음 코드 세그먼트에서는이를 보여줍니다.
public class OuterClass {
@Override
public String toString() {
return "I am the public outer class";
}
static class StaticInnerClass {
@Override
public String toString() {
return "I am the package private inner class";
}
}
class NonStaticInnerClass {
@Override
public String toString() {
return "I am the package private non static inner class";
}
}
public static void main(String[] args) {
OuterClass oc = new OuterClass();
OuterClass.StaticInnerClass ic = new OuterClass.StaticInnerClass();
NonStaticInnerClass nsic = oc.new NonStaticInnerClass();
System.out.println(oc);
System.out.println(ic);
System.out.println(nsic);
System.out.println(new SecondClass());
}
}
class SecondClass {
@Override
public String toString() {
OuterClass oc = new OuterClass();
OuterClass.StaticInnerClass ic = new OuterClass.StaticInnerClass();
OuterClass.NonStaticInnerClass nsic = oc.new NonStaticInnerClass();
return oc.toString() + "\n" + ic.toString() + "\n" + nsic.toString();
}
}
2
다르게 지정하지 않으면 모든 항목에 기본 액세스 권한 (개인용 패키지)이 있습니다.
관련 문제
- 1. java private class member
- 2. 액세스 한정자 C# - 내부 한정자
- 3. C++ Deleting Class Member Char *
- 4. std :: tuple as class member
- 5. 액세스 한정자 VS 속성
- 6. "class :: data member is private"오류
- 7. 동적 액세스 한정자
- 8. 라이브러리 수준 액세스 한정자
- 9. 액세스 한정자 컴파일
- 10. 스칼라 개인 액세스 한정자 범위
- 11. C++ 클래스 개인 액세스 한정자
- 12. 스칼라 - 유닛 테스트 설정 (액세스 한정자 한정자 사용)
- 13. 자동으로 리 팩터 액세스 한정자
- 14. 상태에 따라 C# 액세스 한정자
- 15. 모든 액세스 한정자 테스트 컨트롤
- 16. 자바 스크립트 내의 액세스 한정자
- 17. 네임 스페이스에 대한 액세스 한정자
- 18. javascript의 클래스 및 '액세스 한정자'
- 19. 속성의 반사 및 액세스 한정자
- 20. C#의 내부 액세스 한정자 정보
- 21. 인터페이스 상속 및 액세스 한정자 설정
- 22. C++ 11 in-class member initialization with this
- 23. 함수에 대한 SQL Server 액세스 한정자
- 24. C#의 인터페이스 멤버에 대한 액세스 한정자
- 25. 멤버 함수에 const 한정자 추가
- 26. .class 파일의 심볼 테이블 액세스
- 27. 하나의 기본 클래스에서 다른 파생 클래스의 액세스 한정자
- 28. 한정자 오류
- 29. C++ Member to member 함수 포인터 또는 이벤트 구동 프로그래밍
- 30. C++/CLI의 속성 getter/setter에 대한 다른 액세스 한정자
내가 그것의 개인 사용자가 이해되지 않는다 뭐라고하는 방법 – Tony
처럼를 포함하는 것을 차단할 수 있기 때문에 내부 로컬 클래스 기본 수정이 비공개라는 것을 알고? 로컬 변수를 의미합니까? 지역 변수는 비공개가 아닙니다. 로컬 변수이므로 액세스 수정자가 전혀 없습니다. –