Probabilmente non è possibile eseguire quanto segue (viene visualizzato un errore di compilazione: "Il metodo ereditato A.doSomthing (int) non può nascondere il metodo astratto pubblico in B"):Java: estensione di una classe e implementazione di un'interfaccia con lo stesso metodo
public class A {
int doSomthing(int x) {
return x;
}
}
public interface B {
int doSomthing(int x);
}
public class C extends A implements B {
//trying to override doSomthing...
int doSomthing(int x) {
return doSomthingElse(x);
}
}
Supponendo mi è permesso di cambiare né a né B, la mia domanda è posso in qualche modo definire C in modo tale che possa ereditare da a e B (si supponga che è necessario per un quadro di riferimento che C sia un'istanza di A e B).
O se no, come faresti a risolvere questo?
Grazie!
prega di segnalare l'errore. Non c'è nulla di evidentemente sbagliato qui, tranne forse un @Overrides mancante se si utilizza 1.6. – bmargulies
@bmargulies, non c'è 'public' e l'override è solo un disturbo facoltativo. – bestsss