分享

java反射机制

 精品唯居 2022-11-03 发布于北京

------------恢复内容开始------------

1、Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息。

当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性

 

2、在运行期间,一个类,只有一个Class对象产生,获取Class对象最常用的方式是Class c = Class.forName(包名.类名)

3、protected 是受保护的,只有当前类的成员与继承该类的类才能访问;private是完全私有的,有当前类中的成员能访问到。

4、toString方法通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法

 5、反射常用的类:

Java.lang.Class;

Java.lang.reflect.Constructor;

Java.lang.reflect.Field;

Java.lang.reflect.Method;

Java.lang.reflect.Modifier;

6、使用反射来创建实例有两种方法:

(1)

使用Class对象的newInstance()方法来创建Class对象对应类的实例。

Class<?> c = String.class;
Object str = c.newInstance();

(2)先通过Class对象获取指定的Constructor对象,再调用Constructor对象的newInstance()方法来创建对象,这种方法可以用指定的构造器构造类的实例。

//获取String的Class对象
Class<?> str = String.class;
//通过Class对象获取指定的Constructor构造器对象
Constructor constructor=c.getConstructor(String.class);
//根据构造器创建实例:
Object obj = constructor.newInstance(“hello reflection”);

 7、通过反射可获取指定类的公有私有 构造方法 成员变量,成员方法

通过反射还可以使某个类的main函数运行

 

 

详情请见https://blog.csdn.net/a745233700/article/details/82893076

 

 

------------恢复内容结束------------

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多