2012-07-04 3 views
2

Java에서 public 및 private 클래스에 대한 질문이 있습니다. 예를 들어, private 클래스 안에 public 메소드가 있다면, 다른 public/private 클래스가 접근하여 public 메소드를 사용할 수 있습니까? 미리 감사드립니다.Java 메소드 액세스

답변

2

클래스 내에서 메소드를 호출 할 수 있으려면 호출을 수행하는 메소드가 클래스 자체에 액세스 할 수 있어야합니다. 따라서 private 클래스가 정의 된 클래스의 메서드는 public 메서드에 액세스 할 수 있고 다른 클래스의 메서드에는 액세스 할 수 없습니다.

물론 개인 클래스가 공용 클래스를 상속하거나 공용 인터페이스를 구현하는 경우 기본 클래스 또는 인터페이스의 메서드를 모든 사람에게 표시 할 수 있습니다.

1

에 따라 다릅니다. 공개 메소드가 공용 인터페이스에 의해 정의 된 경우, 호출자는 인터페이스를 통해 액세스 할 수 있습니다. 그렇지 않으면, 그들은 볼 수없는 개인 클래스를 사용하지 않고도 참조를 얻을 수 없습니다.

또한 리플렉션 및 사용 중지 된 보안 관리자로도 이러한 작업을 수행 할 수 있지만 이는 다른 질문입니다.

-1

개인 클래스는 사용할 수 없습니다. 수업은 공개 또는 기본 액세스 수준 만 가질 수 있습니다.

+1

사실이 아닙니다. 중첩 된 클래스는 private 일 수 있습니다. – Jesper