java反射
动态编程 程序运行过程中,可以改变程序的结构或变量类型。 虽然java不是动态语言,但是java具有一定的动态性,可以利用反射机制,字节码操作获得类似动态语言的操作。 反射是很重要的,他是java里的大哥级别人物,好多不能做的他都可以做。 反射机制 反射机制是指可以在运行时加载,探知,使用编译期间完全未知的类。 也就是说,利用反射机制,可以实例化一个在编译时只知道名字的类,不用new 创建对象。 Class c = Class . forName ( "包名.类名" ) ; 这就是一个常用的利用反射获取对象class的方法,对象的class里面包含了完整的类的结构信息,我们可以通过这个class,实例化一个对象。 同一个类只会被加载一次,只对应一个Class对象,多次获得Class对象,都是同一个Class对象(地址相同) 对象是表示或封装一些数据。一个类被加载之后,jvm会创建一个对应该类的Class对象,类的整个结构信息会被放到对应的Class对象中 获取Class对象的方法 Class.forName(“包名.类名”); 类名.class; (基本数据类型,数组都可以, 数组Class对象是否相同看维度,不看大小 ) 对象名.getClass(); 获得Class对象之后的操作 首先我们来看一下我们获得Class对象的 名字 : System . out . println