黑马程序员-反射的基础Class类

来源:互联网 发布:js时间格式化format 编辑:程序博客网 时间:2024/05/23 19:17
---------------------- android培训、java培训、期待与您交流! ---------------------- 一,反射的基础Class类
所谓万物皆对象,既然任何事物都是对象,那么Java程序的所有类当然也是一个对象,Class代表Java类,它的各个实例对象对应各个类在内存中的字节码
一个类被类加载器加载到类存中,占用一片存储空间,这个空间里面的内容就是类的字节码,不同的类的字节码是不同的,所以它们在类存中的内容是不同的,这一个个空间可分别用一个个对象来表示.
要注意Class和class的区别
一个类有他的成员,构造方法,函数这些也都可以看做是每一个对象,每一个对象也都有他的实例
如何得到各个字节码对应的实例对象(Class类型)
1:类名.class  例如:System.class
2:对象.getClass()  例如:new Date().getClass()
3:Class.forName("类名") 例如:Class.gforName("java.util.Date")
九个预定义Class实例对象
byte,char,short,int,float,double,long,boolean,void
要格外注意void也是一个类
String str1 = "abc";
Class cls1 = str1.getClass();
Class cls2 = String.class;
Class cls3 = Class.forName("java.lang.String");
System.out.println(cls1 == cls2);
System.out.println(cls1 == cls3);//字节码文件比较用==
数组类型的Class实例对象
Class.isArray()
总之,只要在源程序中出现的类型,都有各自的Class实例对象,
  ---------------------- android培训、java培训、期待与您交流! ----------------------
原创粉丝点击