interface Declaravel{
void declarar();
}
class Imposto implements Declaravel{
public void declarar(){}
class NotaFiscal implements Declaravel{
public void declarar(){}
class Pagamento implements Declaravel{
public void declarar(){}
}
}
}
public class Teste {
public static void main(String[] args) {
Declaravel [] d = new Declaravel[3];
d[0] = new Imposto();
d[1] = new NotaFiscal();//erro
d[2] = new Pagamento();//erro
}
}
Boa noite galera, estou com mais um problema, estudando por um livro me deparei com este exemplo e a seguinte explicação: se o array for declarado como um tipo de interface,seus elementos porderão fazer referência a qualquer instancia das classes que implementem a interface declarada.Portanto, tanto com relação a herança quanto com relação a interface, qualquer objeto que passe no teste é-um aplicado ao tipo de array declarado pode ser atribuído a um elemento desse array. A explicação me pareceu lógica, mas o compilador acusa erro no exemplo, alguém pode me dar uma idéia ou a explicação tá errada? Abraços.