Dúvida variável do tipo de uma interface

Boa tarde.
Gostaria de saber dos amigos, se é possível uma variável do tipo de uma interface, na chamada de um método executar dúas vezes em classes diferestes.
E queria saber se é uma boa prática criar variáveis do tipo de uma interface, e quando não usar.
obrigado

Você quer se referir a isto?


public interface InterfaceA {

public abstract void metodo1();

}

public class ClasseA implements InterfaceA {

public void metodo1(){
System.out.println("ClasseA");
}

}


public class ClasseB implements InterfaceA {

public void metodo1(){
System.out.println("ClasseB");
}

}

public class Main {

public static void main(String [] args) {
InterfaceA ia1 = new ClasseA();
InterfaceA ia2 = new ClasseB();

ia1.metodo1();
ia2.metodo1();
}

}

Com isso você estaria praticando o Polimorfismo.

A Saída seria:

ClasseA

ClasseB

xD~~

entendi…
muito obrigado
mas existe como eu fazer com que um método por segurança não seja executado duas vezes?

[quote=nykel]entendi…
muito obrigado
mas existe como eu fazer com que um método por segurança não seja executado duas vezes?
[/quote]

Declare uma variável do tipo lógico(boolean) para cada método iniciando a zero.

No final do método uma variável do tipo lógico e a faça receber 1 no final do método. Ai é só fazer um condicional para caso esta variável não seja 1. Se for um, ele não fará o método, se for 0, fará o método porque ele não foi executado. Fazendo isto, apesar de ser uma gambearra e de necessitar uma variável para cada método, estará seguro.

Exemplo:

public class exemplo{

public static void main( String[] args){
boolean verificarmetodo1=0, verificarmetodo2=0;

if(verificarmetodo1==0){
metodo1();
}

if(verificarmetodo2==0){
metodo2();
}

}


void metodo1{
System.out.print("Este PC é da biblioteca portanto, não tem o JDK instalado");
verificadormetodo1=1;
}

void metodo2{

System.out.print("por tanto não será surpresa se perceber erros de sintaxe");
verificadormetodo2=1;
}



}

Eu não tive como testar, mais entendeu??

Dá uma lida com carinho nesse tópico:
http://www.guj.com.br/posts/list/55387.java#290673

E nesse também (tem vários posts interessantes aqui): http://www.guj.com.br/posts/list/51866.java#273117

muito obrigado pela ajuda…
bom dia