Friz02 ha scritto:
Supponiamo che Component non sia abstract bensì concreta e che AccessibleAWTComponent sia un'interfaccia. Premesso che Component non può riscrivere i metodi dell'interfaccia innestata (giusto?)
Innanzitutto stai facendo un ragionamento sbagliato. E non tanto perché il tuo scenario (Component concreta) è ipotetico e diverso da quello che realmente c'è nel framework.
Di per sé non c'è relazione di "ereditarietà" tra una classe e una inner-class contenuta nella classe!
Se una interfaccia è dentro una classe (cosa perfettamente possibile) non è una "inner-interface". Il termine "inner" si applica alle classi (non interfacce!) che sono membri di una classe e denota una relazione molto particolare tra la istanza della inner-class e la istanza della classe "contenitore".
Se avessi:
package esempio;
class A {
interface B {}
}
Allora A non ha alcuna relazione di "ereditarietà" con B. B è una (static) nested interface e alla fin fine cambia solo una cosa (rispetto ad avere B fuori): A fa in un certo senso da "namespace" per B, cioè il nome completamente qualificato di B è esempio.A.B , non è solo esempio.B. Si tratta solo di una mera questione di naming.