java中既然有封装,为什么要有个反射
java通常是先有类再有对象,有对象我就可以调用方法或者属性。反射其实是通过Class对象来调用类里面的方法。通过反射可以调用私有方法和私有属性。
大神解释一下java反射有什么作用
java的反射机制就是增加程序的灵活性,避免将程序写死到代码里,
例如: 实例化一个 person()对象, 不使用反射, new person(); 如果想变成 实例化 其他类, 那么必须修改源代码,并重新编译。
使用反射: class.forName("person").newInstance(); 而且这个类描述可以写到配置文件中,如 *.xml, 这样如果想实例化其他类,只要修改配置文件的"类描述"就可以了,不需要重新修改代码并编译。
像spring,struts等这些开源框架的实现都用到了反射机制。
为什么java有反射机制,反射机制的原理是什么
可以动态的获取指定类中的成员,以及建立类对象。
好处:提高了程序的扩展性。
当class文件产生以后,这些class文件也是生活中的事物,那么对这些class文件也可以进行描述,该描述对应的类型就是Class.
在java中,每一个字节码文件都有一一个与之对应的Class对象。不仅包括引用数据类型,也包括基本数据类型。int.Class
java:为什么要使用反射技术?直接用get,set方法不行吗?
举个简单的例子吧,你有一套系统,根据不同版本连接多重不同的数据库,通过反射的方式,你可以通过传递一个字符串的方式来调用某个数据库连接类的方法。如果用set,get方法的话,每新增加一个数据库,就需要新增加一个方法,也就是说需要修改原有的已经写好的类。而使用反射,直接创建一个新的类,然后直接调用就可以了,无需修改任何原有的类。当然这个例子举的很菜鸟,希望你能理解。
声明:
该资讯来自于互联网网友发布,如有侵犯您的权益请联系我们。