作为java程序员来说,大家很了解java的反射机制倒也不奇怪,毕竟该机制足够强大,经常被运用到,所以你是否也了解java的反射这样是什么呢?java反射机制有什么作用呢?
首先我们来看看其定义,反射机制它是Java语言中的一个非常重要的特性,是允许程序在运行的时候进行自我检查的,也允许其对内部成员进行操作的。由于反射机制是能够实现在运行时就对类进行装载,因此就也能够增加程序的灵活性了,只是说,如果不恰当地使用了反射机制,也是会严重地影响系统的性能的。
所以具体来说,反射机制的主要功能与作用主要有:可以得到一个对象所属的类,可以获取一个类的所有的成员变量与方法,在运行的时候就创建对象,可以调用对象的方法。
反射机制的作用如下所示:
一,反向编译:.class文件–>.java文件的编译;
二,可以通过反射机制来访问java对象的属性,方法,构造方法等等;
我们来看一下sun为我们提供了的一些反射机制中的类:
java.lang.Class; java.lang.reflect.Constructor; java.lang.reflect.Field; java.lang.reflect.Method; java.lang.reflect.Modifier;
其实很多反射里面的方法,属性等操作我们都是可以从这四个类里面查询到的。
例如,调用了Employee的无参数构造方法可以如下所示:
Class c=Class.forName(“Employee”); Object o=c.newInstance();
通过动态加载类也是可以解决这类问题的。通过类类型可以创建该类的对象:
静态加载类,就是编译时刻去加载的;而动态加载类,是运行时刻才加载的;
new创建对象:是静态加载类,在编译的时候就需要加载所有的可能使用到的类。有一个类有问题(如果是不存在的),就都不能通过编译,是会报错的。
Class.forName()方法通过动态加载类,可以用到一个类时,才进行加载。
那么以上就是有关java反射的所有内容了,还想了解更多java入门相关信息,可以关注本站消息获取哦。
推荐阅读: