反射用法

淡淡的烟草味﹌ 2022-07-13 09:11 538阅读 0赞

上面讲了类加载机制,会将类放到一个池子里面。这时候如果我们想获取某个类,然后调用某个类的方法的话,可以使用反射。

  1. import java.lang.reflect.Method;
  2. public class TestClassLoader {
  3. public static void main(java.lang.String args[]) throws Exception{
  4. //类加载器
  5. System.out.println("启动类加载器--BOOTSTRAP ClassLoader 加载C:\\Program Files\\Java\\jre1.8.0_112\\lib\\rt.jar: "+String.class.getClassLoader());
  6. System.out.println("扩展类加载器--Extension ClassLoader 加载C:\\Program Files\\Java\\jre1.8.0_112\\lib\\ext下面的类 :"+com.sun.crypto.provider.DESKeyFactory.class.getClassLoader().getClass().getName());
  7. System.out.println("应用程序类加载器--Application ClassLoader 加载所有我们写的类"+ TestClassLoader.class.getClassLoader().getClass().getName());
  8. //类加载器的 组合拳
  9. ClassLoader classLoader = TestClassLoader.class.getClassLoader();
  10. while(classLoader!=null){
  11. System.out.println(classLoader.getClass().getName());
  12. classLoader= classLoader.getParent();
  13. }
  14. //反射
  15. Class<?> forName = Class.forName("M");
  16. Object newInstance = forName.newInstance();
  17. Method m = M.class.getMethod("refl");
  18. m.invoke(newInstance);
  19. }
  20. }
  21. class M{
  22. public static void refl(){
  23. System.out.println("hahaha");
  24. }
  25. }

简单用法就像这样。

发表评论

表情:
评论列表 (有 0 条评论,538人围观)

还没有评论,来说两句吧...

相关阅读

    相关 反射

    上面讲了类加载机制,会将类放到一个池子里面。这时候如果我们想获取某个类,然后调用某个类的方法的话,可以使用反射。 import java.lang.reflect.M

    相关 java反射机制及

    一、反射的定义               反射的核心是 JVM 在运行时才动态加载类或调用方法/访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁。通过反射