La
classe Class,
astrae il concetto di classe Java. Questo per esempio ci permetterà di
creare
oggetti Java dinamicamente all’interno di programmi Java. In particolare ci
sono
tre
modi per avere un oggetto della classe Class, che astrae un certo tipo di classe:
· Utilizzare il metodo statico forName(String
name) in questo modo:
try {
Class
stringa = Class.forName("java.lang.String");
} catch
(ClassNotFoundException exc) {
. . .
}
· Ottenerla da un oggetto:
String a = "MiaStringa";
Class stringa =
a.getClass();
· Mediante un cosiddetto “class literal”:
Class stringa = java.lang.String.class;
La
caratteristica più interessante di questa classe, è che da la possibilità di
utilizzare una
tecnica
che è conosciuta con il nome di reflection: l’introspezione delle classi.
Infatti laclasse Class mette a disposizioni dei metodi che si chiamano getConstructor(),
getMethods(), getFields(), getSuperClass() etc… che restituiscono
oggetti di tipo Costructor, Field, Method e così via.
getClass() Restituisce la classe a runtime di un oggetto.
java.lang.Class.isArray()Determina se una classe è un array
public boolean isArray()
Nessun commento:
Posta un commento