什么是反射?俗话说的好,反射反射,程序员的快乐!不管是java本身,还是以java为开发底层的各种开发语言如android,还有我最亲爱的libgdx等等,都在不少的地方用到了java的反射机制。可以说,如果没有反射机制,java就插翅难飞。
JAVA反射机制是在运行状态中,对于任意一个类,都能够得到这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制.
反射就是让你可以通过名称来得到对象(类,属性,方法)的技术。例如Class.forName("ClassName")
- 知道了类名就可以生成一个类的实例;
- 知道了方法名,就可以调用这个方法;
- 知道了属性名就可以访问这个属性的值。
利用类的getClass()来进行类的访问,下面是一个简单的例子。
public class Demo { public static void main(String[] args) { Long num = 1l; Class myclass = num.getClass(); System.out.println("输出类"+myclass.getSimpleName()+"的继承信息:"); superClass(myclass);//采用递归输出 } /**递归输出类的继承信息 * @param c 类 */ public static void superClass(Class c){ if(!c.getSimpleName().equalsIgnoreCase("Object")){ //如果不是Object类,就继续遍历上一个 superClass(c.getSuperclass()); } System.out.println(c.getSimpleName()); } }
未完待续。
Comments 10 条评论
看起来还不错。
@恒创主机 欢迎来访!
跟.net下的反射并无二致
java?sun公司好久不在了吧
不明觉厉,打个酱油
@网站建设
学java不能不用反射。
呵呵呵呵
JAVA反射机制