Guest User

Untitled

a guest
Oct 22nd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. public class TesteComparaClasses {
  2.  
  3. public static void main(String[] args) throws Exception {
  4.  
  5. // cria um novo classloader a partir da pasta bin
  6. ClassLoader loader = new URLClassLoader(new URL[] { new URL("file:bin/") }, null);
  7.  
  8. // carrega a classe pelo novo classloader
  9. Class<?> classe = loader.loadClass("br.com.caelum.fj91.classloader.teste.ObjetoTeste");
  10.  
  11. // carrega a mesma classe pelo classloader atual, do main, o application classloader
  12. Class<?> outraClasse = Class.forName("br.com.caelum.fj91.classloader.teste.ObjetoTeste");
  13.  
  14. // executa alguns testes
  15. System.out.println("ClassLoader da 1a classe: " + classe.getClassLoader());
  16. System.out.println("ClassLoader da 2a classe: " + outraClasse.getClassLoader());
  17. System.out.println("Classes são iguais? " + (classe == outraClasse));
  18.  
  19. Object o = classe.newInstance();
  20. classe.newInstance();
  21. classe.newInstance();
  22. classe.newInstance();
  23. classe.newInstance();
  24. Method getQuantidade = classe.getDeclaredMethod("getQuantidade");
  25.  
  26. ObjetoTeste o2 = (ObjetoTeste)outraClasse.newInstance();
  27. outraClasse.newInstance();
  28. outraClasse.newInstance();
  29.  
  30. System.out.println("STATIC1"+o2.getQuantidade());
  31. System.out.println("STATIC2"+getQuantidade.invoke(o));
  32.  
  33. ObjetoTeste ot = (ObjetoTeste) o;
  34. System.out.println(ot);
  35. }
  36. }
Add Comment
Please, Sign In to add comment