Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class TesteComparaClasses {
- public static void main(String[] args) throws Exception {
- // cria um novo classloader a partir da pasta bin
- ClassLoader loader = new URLClassLoader(new URL[] { new URL("file:bin/") }, null);
- // carrega a classe pelo novo classloader
- Class<?> classe = loader.loadClass("br.com.caelum.fj91.classloader.teste.ObjetoTeste");
- // carrega a mesma classe pelo classloader atual, do main, o application classloader
- Class<?> outraClasse = Class.forName("br.com.caelum.fj91.classloader.teste.ObjetoTeste");
- // executa alguns testes
- System.out.println("ClassLoader da 1a classe: " + classe.getClassLoader());
- System.out.println("ClassLoader da 2a classe: " + outraClasse.getClassLoader());
- System.out.println("Classes são iguais? " + (classe == outraClasse));
- Object o = classe.newInstance();
- classe.newInstance();
- classe.newInstance();
- classe.newInstance();
- classe.newInstance();
- Method getQuantidade = classe.getDeclaredMethod("getQuantidade");
- ObjetoTeste o2 = (ObjetoTeste)outraClasse.newInstance();
- outraClasse.newInstance();
- outraClasse.newInstance();
- System.out.println("STATIC1"+o2.getQuantidade());
- System.out.println("STATIC2"+getQuantidade.invoke(o));
- ObjetoTeste ot = (ObjetoTeste) o;
- System.out.println(ot);
- }
- }
Add Comment
Please, Sign In to add comment