É possível executar todos ou apenas um método de todas as classes que implementam uma interface?
public interface TestInterface {
public void teste(String test);
}
public class Teste implements TestInterface {
@Override
public void teste(String test) {
System.out.println(test);
}
}
Sim e não.
public interface Iface {
public void foo();
}
public class Classe implements Iface {
@Override
public void foo(){
//Do anything
}
}
public class Classe2 implements Iface {
@Override
public void foo(){
//Do anything
}
public void foo2(){}
}
Sim:
-
Você tem a interface e a implementação dela só tem os métodos da interface e você instancia um objeto da interface.
Iface iface = new Classe();
-
Você tem a interface e a implementação dela tem métodos adicionais e você instancia um objeto da própria classe.
Classe2 classe2 = new Classe2();
Não:
1 curtida