(1) 공공 수정 자의 경우, 가장 큰 액세스 권한이 있으며 클래스 경로에서 클래스, 인터페이스, 예외 등에 액세스 할 수 있습니다. 그것은 종종 외부 사례, 즉 외부 외부의 객체 또는 클래스의 인터페이스 형태로 사용됩니다.
(2) 보호 된 수정 자의 경우 주요 기능은 서브 클래스를 보호하는 것입니다. 그 의미는 서브 클래스가 그것에 의해 수정 될 수 있고 다른 클래스는 될 수 없다는 것입니다. 그것은 서브 클래스로 전달 된 상속 된 것과 동일합니다.
(3) 기본값의 경우 때로는 친절한 회원이됩니다. 이 패키지에 액세스하도록 설계되었습니다. 이 패키지 아래에있는 모든 클래스, 인터페이스, 예외 등은 서로에 의해 액세스 할 수 있습니다.
(4) 개인의 경우, 액세스 권한은 클래스 내부로 제한되며, 이는 캡슐화의 표현입니다. 예를 들어, 대부분의 멤버 변수는 수정 자 개인이며 다른 외부 클래스에서 액세스하기를 원하지 않습니다.
다음 표는 Java Access Control 문자의 의미와 사용을 보여줍니다.
| 수업 내부 | 이 패키지 | 아강 | 외부 패키지 | |
| 공공의 | √ | √ | √ | √ |
| 보호 | √ | √ | √ | × |
| 기본 | √ | √ | × | × |
| 사적인 | √ | × | × | × |
참고 : Java의 액세스 컨트롤은 컴파일 레이어에 유지됩니다. 즉, .class 파일에 흔적을 남기지 않으며 컴파일 중에 액세스 제어 만 확인합니다. 실제로 반사를 통해 모든 패키지에서 모든 클래스의 구성원에 액세스 할 수 있습니다. 예를 들어, 클래스의 개인 구성원에 액세스 할 수도 있습니다.
차이 :
(1) 공개 : 다른 모든 클래스에서 액세스 할 수 있습니다.
(2) 개인 : 혼자서만 액세스하고 수정할 수 있습니다.
(3) 보호 : 동일한 패키지의 서브 클래스 및 클래스 자체에 액세스 할 수 있습니다.
(4) 기본값 : 동일한 패키지의 클래스에 액세스 할 수 있으며 선언 할 때 수정자가 추가되지 않으므로 친숙한 것으로 간주됩니다.
위의 것은 편집자가 가져온 Java의 차이 (자세한 설명)의 모든 내용입니다. 모두가 wulin.com을 지원하기를 바랍니다