1.反射的基础类: java.lang.Class
2.Class代表了一类事物,java类用于描述一类事物的共性,如该类事物有什么属性,没什么属性,至于这个属性的值是什么,则是由这个类的实例对象来确定的。java程序中的java类,属于同一类事物,描述这类事物的java类名就是Class。
3.Class的各实例对象分别对应各个类在内存中的字节码。java源程序被编译成一对二进制的class代码,当我们需要用到某个类是,首先把类的字节码加载到内存中,然后再用该字节码去复制一个个的实例对象。每份字节码都是Class的实例对象,即Class类的实例对象就代表内存中的字节码。
4.一个类被类加载器加载到内存中,占用一片存储空间,他这个空间里的内容就是这个类的字节码,不同类的字节码是不同的,所以他们咋内存中的内容就是不同的。这个样子的一个个空间分别用一个个的对象来表示,这些显然具有形同的类型,这个类型就是Class类型。
5.如何获得各类的字节码:有三种方式:
//类名.class 例如:
System.class
//写程序的时候就知道类的名称
//对象.getClass() 例如:
new Date().getClass()
//Class.forName() 例如:
Class.forName("java.util.Date");//类的字符串的完整名称
6.Class.forName()的作用:得到这个类的字节码,包含下面两种情况
.这个类的字节码已经加载到java虚拟机中,只需要找到返回.
.这个类的字节码在java虚拟机没找到,于是用类加载器加载,然后把类的字节码缓存起来再返回.
7.8个基本类型和一个void共9个预定义的Class实例对象
例如:
public static void main(String[] args) throws Exception {
System.out.println(int.class.isPrimitive());//true
System.out.println(int.class == Integer.class);//false
System.out.println(int.class == Integer.TYPE);//true,TYPE表示基本类型 Class实例。
System.out.println(void.class.isPrimitive());//true
System.out.println(int[].class.isArray());//true
}
个人觉得java的内省在调用getter和setter的时候更有优势,为什么再各种培训视频的时候都在讲实用拼写字符串的方式来获取字段的getter和setter方法呢?高手能不能解释下呢?
分享到:
相关推荐
java反射 java反射java反射java反射java反射java反射java反射java反射java反射java反射java反射java反射java反射java反射
最全面的java反射总结
利用java反射将json字符串转成对象;
JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用
java反射与EJBjava反射与EJBjava反射与EJBjava反射与EJBjava反射与EJBjava反射与EJB
java反射机制java反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制...
Java反射经典实例 Java反射经典实例 Java反射经典实例 Java反射经典实例
这是一本关于Java反射机制论文集合的书。其中包含基本的理论及各种实例。... 关键字有:Java Java反射机制 Java反射 Java反射理论 Java反射实例 Java反射例子 反射原理 反射 网络论文 集合 汇总 总结 Class。
java反射,获取所有属性、方法以及List集合类
反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc...
java反射java反射java反射java反射java反射
1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息
Java 反射调用设置值
java 反射demo
代码为JAVA反射的一个DEMO,适合初学者临摹学习,还附有properties的创建方法,比较基础。
java Map转换成bean,利用java反射以及java和bean包将map,Object>类型集合转换成需要的javaBean
java反射实现javabean转json实例代码.docx
Java反射机制Java反射机制Java反射机制Java反射机制Java反射机制Java反射机制Java反射机制Java反射机制
java反射理论及实现
java 反射中操作数组 java 反射中操作数组 java 反射中操作数组