得到类的class对象我们可以通过三种方式获得:
1.Class c=类名.class;
使用这种方式获取Class对象,注意的是如果这个类没有被加载过,它将不会初始化这个类
2:Class c=对象.getClass();
返回对象真正所属的类的Class的对象(当上转型为父类时,如果使用这种方式...
分类:
其他好文 时间:
2015-08-13 14:31:25
阅读次数:
99
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------反射主要内容:《获取Class对象的三种方式、获取无参_有参构造方法、获取成员变量、获取成员方法、运行配置文件内容、越过泛型检查、代理模式、动态代理、模版设计模式、装饰模式、 JDK5的新特性、JD...
分类:
编程语言 时间:
2015-08-06 23:47:54
阅读次数:
235
类的加载:类的加载是指将类的class文件读入内存中,并为之创建一个java.lang.Class对象,也就是当程序使用任何类是,系统都会为之建立一个java.lang.Class对象(也可以说类是java.lang.Class的实例,详情请百度‘java.lang.Class’)类的加载使用类加载...
分类:
其他好文 时间:
2015-08-04 14:52:52
阅读次数:
121
首先java 反射先要得到 Class 对象。 三种获得class 对象的方法,例如Person 对象的class对象//1 Class clzz = Class.forName("com.reflect.Person"); //2 Class clazz1 = new Pe...
分类:
编程语言 时间:
2015-08-03 16:15:59
阅读次数:
132
目前对于python中@classmethod 类方法和@staticmethod静态方法的有了一定的认识,之后有进一步的认识后继续记录。@classmethod :是和一个class类相关的方法,可以通过类货类实例进行调用,并将该class对象(不是class的实例对象)隐式地当作第一个参数传入。...
分类:
编程语言 时间:
2015-07-30 00:40:55
阅读次数:
135
1. 概念
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
2. 获取Class对象
public class ClassDemo1 {
public static void main(String[] args) {...
分类:
编程语言 时间:
2015-07-29 14:05:34
阅读次数:
164
获取Class对象有三种方式:1.通过Object类的getClass()方法。例如:Class c1 = new String("").getClass();2.通过Class类的静态方法——forName()来实现:Class c2 = Class.forName("MyObject");3.如...
分类:
其他好文 时间:
2015-07-28 15:57:34
阅读次数:
104
类的生命周期
当Sample类被加载、连接和初始化后,它的生命周期就开始了。
当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,Sample类在方法区内的数据也会被卸载,从而结束Sample类的生命周期。
由此可见,一个类何时结束生命周期,取决于代表它的Class对象何时结束生命周期。
引用关系
加载器和Class对象:
...
分类:
其他好文 时间:
2015-07-28 10:57:13
阅读次数:
117
重要的事情说三遍:反射并没有什么神奇之处!反射并没有什么神奇之处!反射并没有什么神奇之处!当通过反射与一个未知类型的对象打交道时,JVM只是简单地检查这个对象,看它属于哪个特定的类(和RTTI一样)。在用它做其他事情之前必须先加载那个类的class对象。那个类的class文件要么存在于本地,要么在网...
分类:
编程语言 时间:
2015-07-28 00:25:12
阅读次数:
220
Class.forName查阅javaAPIpublic static Class forName(StringclassName) throws ClassNotFoundException返回与带有给定字符串名的类或接口相关联的 Class 对象。调...
分类:
编程语言 时间:
2015-07-26 17:12:05
阅读次数:
116