2012-08-09 5 views
0

aa와 bb라는 두 개의 패키지로 구성된 데모라는 프로젝트가 있습니다.보호 된 메소드에 액세스하는 것에 관하여

패키지 aa에는 수정 자로 보호 된 메소드가있는 public 클래스 One이 있습니다.

이제 다른 패키지 bb에서 패키지 aa 클래스 1 보호 된 메서드에 액세스하려고하는 공개 클래스 2가 있습니다.

어떻게 완료 될지 알려주세요 ..!

답변

3

protected 방법은 오직 같은 클래스에서 같은 패키지에서 클래스를 볼 수 있습니다, 그리고 클래스는 당신이 그것을 상속 때까지

3

당신은 다른 패키지의 클래스에서 보호 된 멤버/메서드에 액세스 할 수 확장.

  1. public Class Two extends One
  2. 는 클래스 하나와 같은 패키지에 두를 추가

    당신은 다음과 같은 옵션이 있습니다.

1

보호 된 메서드는 파생 클래스 또는 동일한 패키지의 클래스에서만 볼 수 있습니다. 보호 방법은 다른 클래스에 있기 때문에
, 당신은 두 가지 옵션이 있습니다 class Two extends One : public

    1. 변경 액세스 지정을 protected 지정을 가지는 클래스에서 사용하는 클래스를 파생

      두 번째 클래스의 보호 된 메서드를 재현하는 세 번째 옵션이 있습니다. 이는 이 아니며이 아니며 항상 가능하지는 않습니다. 예를 들어 클래스 1에 비공개 인 멤버를 처리하는 경우입니다.

  • 0

    Jigar와 S.L Barth가 말하는 것은 맞습니다. 즉, 동일한 패키지의 파생 클래스 나 클래스에서만 액세스 할 수 있습니다.

    공식 Java 설명서는 메소드의 액세스 가능성과 가시성을 명확하게 설명합니다.

    Controlling Access to Members of a Class

    관련 문제