Является ли доступность видимости неявных унаследованных методов (абстрактных конечных методов родительского характера, унаследованных от детей) всегда одинаковой при доступе через дочерний элемент?Наследование наследования: на конечных методах в абстрактных классах
Каковы подразумеваемые правила пересылки?
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()
isprotected
, я думаю, чтоB
будет «раскрывать» метод как защищенный, что означает, чтоC
может его увидеть.
Трудно понять, что вы имеете в виду здесь - в частности, «окончательная» абстракция. Короткий, но полный фрагмент * кода * с подходящими вопросами для того, что неясно для вас, сделало бы намного легче ответить на вопрос. –
Улучшенная формулировка, извините – Whimusical
Это все еще не совсем ясно, что означает «переадресованный». JLS 6.6, вероятно, лучший ресурс здесь: http://docs.oracle.com/javase/specs/jls/se8/html/jls-6.html#jls-6.6 –