Chinaunix首页 | 论坛 | 博客
  • 博客访问: 486043
  • 博文数量: 111
  • 博客积分: 3146
  • 博客等级: 中校
  • 技术积分: 939
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-07 11:23
个人简介

Nathing

文章分类

全部博文(111)

文章存档

2016年(2)

2015年(1)

2014年(31)

2012年(2)

2011年(9)

2010年(36)

2009年(30)

我的朋友

分类: Java

2011-06-20 23:38:28

1.字节码
得到一个类的字节码有三种方法:
①这个类的字节码已经加载都内存里面来了,找到他,直接返回就行了:对象.getClass();例如:new Date().getClass();
②这个类的字节码如果已经存在内存里面了Class.forName("类名")直接得到并返回,如果没有在内存Class.forName()则用类加载器先加载到内存再使用;
③类名.class 例如:System.class;
 
有9个预定义的Class实例对象:8个基本类型+void
String str1 = "abc";
Class cls1 = str1.getClass();
Class cls2 = String.class;
Class cls3 = Class.forName("java.lang.String");
cls1 == cls2 //true
cls2 == cls3 //true
 
cls1.isPrimitive() //false
int.class == Integer.TYPE //true
int.class == Integer.class //false
int.class.isPrimitive() //true
int[].class.isPrimitive() //false
int[].class.isArray() //true
总之: 只要在源程序中出现的类型,都有各自的Class实例对象,例如:
int[],void...
 
2.反射
反射就是把java类中的如属性,方法等东东映射成相应的java类(Method,Contructor等).
 
阅读(522) | 评论(0) | 转发(0) |
0

上一篇:Linux学习花絮

下一篇:HTTP简介1

给主人留下些什么吧!~~