Este artigo descreve um método de implementação simples para a reflexão Java. Compartilhe para sua referência. O método de implementação específico é o seguinte:
A cópia do código é a seguinte: o pacote reflete;
importar java.io.file;
importar java.io.fileInputStream;
importar java.io.filenotfoundException;
importar java.io.fileOutputStream;
importar java.io.ioException;
importar java.util.properties;
interface frutas {
abstrato público vazio ();
}
classe Apple implementa frutas {
public void Eat () {
System.out.println ("Coma Apple");
}
}
classe Orange implementa frutas {
public void Eat () {
System.out.println ("coma laranja");
}
}
classe init {
Propriedades estáticas públicas getPro () lança fileNotfoundException, ioException {
Propriedades pro = new Properties ();
Arquivo f = novo arquivo ("fruit.properties");
if (f.Exists ()) {
System.out.println ("Existe um arquivo de configuração!");
// Leia os pares-chave-valores do arquivo de configuração
pro.load (new FileInputStream (f));
}outro{
System.out.println ("Sem arquivo de configuração!");
pro.setProperty ("Apple", "reflet.Apple");
pro.setProperty ("laranja", "reflet.orange");
pro.store (new FileOutputStream (f), "classe de frutas");
}
retornar pro;
}
}
classe fábrica {
public static fruit getInstance (string className) {
fruta f = nulo;
tentar {
// Obtenha objeto de instância da fruta através da reflexão
f = (frut) classe.ForName (ClassName) .NewInstance ();
} Catch (InstantionException e) {
E.PrintStackTrace ();
} Catch (ilegalAccessException e) {
E.PrintStackTrace ();
} catch (classNotfoundException e) {
E.PrintStackTrace ();
}
retornar f;
}
}
classe pública Hello {
public static void main (string [] args) {
tentar {
Propriedades pro = init.getPro ();
frutas f = factory.getInstance (pro.getProperty ("Apple"));
if (f! = null) {
façanha() ;
}
} catch (filenotfoundException e) {
// TODO BLOCO DE CAPAGEM AUTOMAGEM
E.PrintStackTrace ();
} catch (ioexception e) {
// TODO BLOCO DE CAPAGEM AUTOMAGEM
E.PrintStackTrace ();
}
}
}
O resultado é:
Existe um arquivo de configuração!
Coma maçã
Espero que este artigo seja útil para a programação Java de todos.