java反射机制是很多框架实现的重要一环,初识反射机制时总有些不理解,学习了一段时间后,下面是我对java反射机制的一些初步的理解,希望对大家有所帮助,也希望大家能够批评指正,共同学习。
java:“一切即对象”,感觉java语言本身在不断践行着这句话。
java反射机制的基础来源于一个Class类,我们可以通过这个类里面的方法来对每一个类进行读取、实例化等。
对象表示或封装一些数据。一个类被加载后,jvm会创建一个对应该类的Class对象(一个类只会对应一个Class对象),类的整个的结构信息会被放在对应的Class对象中。这个Class对象就像一面镜子一样,通过这面镜子可以看到对应的类的全部信息。
例如:
对一个Person的实例化过程:
Person person = new Person();
应用反射来实现:
Class clz = null;
String name = "com.zl.server.Person"; //类的地址
try {
clz = Class.forName(name); //将类的地址传入
Person person = (Person)clz.getConstructor().newInstance(); //获取构造器,进行实例化
return servlet;
} catch (Exception e) {
e.printStackTrace();
}
反射机制会让类的实例化更加灵活。
在很多框架中,反射都得到了很多的应用,我们可以通过Class获取到类的注解、构造器、属性等,来进行更多的处理。