0
자식을 통해 액세스 할 때 암시 적으로 상속되는 메서드 (부모에서 상속되는 최종 추상 메서드)는 항상 동일하게 액세스됩니까?액세스 수정 자 상속 : 추상 클래스의 final 메서드
암시 적 전달 규칙은 무엇입니까?
class package0.Parent {ACCESS_MODIFIER final void f();}
class package1.B extends A { /* Implicit f?*/}
class package2.C extends B {/* Implicit f? */}
다음 : 항상 이 전달됩니까? 그렇다면 왜 케이스 1? 그리고 사건 3은?
- 사례 1 : 부모
f()
이private
가시성이 전달되지 않는 경우B
로 볼 수 없습니다. - 사례 2 : 부모
f()
이public
인 경우B
또는C
을 사용하는 사용자는f
에 대한 사용 가능 여부를 결정합니다. - 사례 3 : 부모
f()
이protected
인 경우B
은 메소드를 보호 된 것으로 "노출"합니다 (즉,C
이이를 볼 수 있음).
여기에서 의미하는 바를 특히 이해하기 어렵습니다. 특히 "추상적 인 최종"부분입니다. 당신에게 불명확 한 것에 대한 적절한 질문을 한 짧고 완전한 * 코드 *는 질문에 답하는 것이 훨씬 쉽습니다. –
향상된 문구, 죄송합니다 – Whimusical
"전달 된"의미는 아직 명확하지 않습니다. JLS 6.6이 아마도 여기에있는 최상의 리소스 일 것입니다. http://docs.oracle.com/javase/specs/jls/se8/html/jls-6.html#jls-6.6 –