In quale scenario è possibile che un'interfaccia abbia classi nidificate?Dove è utile avere classi nidificate in un'interfaccia?
Il seguente codice è consentito e valido.
public interface Iface {
void show();
class ifaceClass {
int x;
public ifaceClass() {
System.out.println(x);
}
}
}
sto anche lottando per fare oggetto della classe ifaceClass.
EDIT:
sono in grado di fare oggetto come questo
public class Test implements Iface {
public static void main(String[] args){
ifaceClass ifaceClassObj = new ifaceClass();
}
public void show() {
}
}
ho notato se Test
non ha attuato il Iface
poi ho bisogno di seguente importazione,
import com.jls.Iface.ifaceClass;
Ma si è ridotto allo stesso problema, perché non usarlo come una semplice classe.
Quale differenza o valore aggiunto con questo approccio?
Ogni volta che si vuole essere sicuri che le classi che implementano la propria interfaccia abbiano accesso a detta classe con una certa implementazione. – Stultuske
Vuoi dire dov'è * utile *? Un'interfaccia può * sempre * avere classi annidate ... –
@Jon Skeet. sì dove è utile. –