`

Class study

阅读更多
Class是所有java类的类,就像所有各种各样的人有一个类Person.
Class中含有这个类的一些信息,像有什么方法,属性或继承了什么接口等等。
有三种获得Class的方法
1. Class c=Class.forName("java.lang.String");用的比较多
2. Class c=String.class;
3. String str="abc"; Class c=str.getClass();
String.class其实是java虚拟机中的字节码。
有九种预定义的Class类型:
boolean, byte, char, short, int, long, float,double and void.
像框架早写好了,我们写的程序能调用或被调用就是利用反射的原理得知我们在开源框架基础上写的类的一些信息。
int.class==Integer.TYPE  返回true
int.class==Integer.class 返回false
数组也有其Class类型,System.out.println(int[].class);
结果:class [I.

参考信息:
public final class Class<T>extends Object implements Serializable, GenericDeclaration, Type, AnnotatedElement

Class has no public constructor. Instead Class objects are constructed automatically by the Java Virtual Machine as classes are loaded and by calls to the defineClass method in the class loader.
翻译: Class没有公用的构造函数,反而,当classes在类加载器中被加载并且调用 defineClass方法时,Class对象会由java虚拟机自动的构造。

欢迎交流指正。
分享到:
评论
1 楼 zjfgf 2011-10-23  
int.class==Integer.class 返回false
不太理解?

相关推荐

Global site tag (gtag.js) - Google Analytics