Istanziare una nuova classe in Java con Class.forName
In questo esempio devo chiamare un metodo di una classe, di cui non so il nome, se non a runtime. So però che la classe che chiamerò dovrà estendere una determinata interfaccia.
Se l’interfaccia è definita così:
public interface MiaInterfaccia {
public void mioMetodo();
}
allora devo scrivere:
Class c = Class.forName("MiaClasse");
Object o = c.newInstance();
((MiaInterfaccia)o).mioMetodo();
MiaClasse deve implementare l’interfaccia MiaInterfaccia, e quindi dichiarare il metodo mioMetodo().
Leave a Reply