java:“一切即对象”,感觉java语言本身在不断践行着这句话。
java反射机制的基础来源于一个Class类,我们可以通过这个类里面的方法来对每一个类进行读取、实例化等。
对象表示或封装一些数据。一个类被加载后,jvm会创建一个对应该类的Class对象(一个类只会对应一个Class对象),类的整个的结构信息会被放在对应的Class对象中。这个Class对象就像一面镜子一样,通过这面镜子可以看到对应的类的全部信息。
免费学习视频教程分享:java视频教程
例如:
对一个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获取到类的注解、构造器、属性等,来进行