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

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>