分享

JAVA高级特性 17反射的基石-class类

 永远饥饿_愚蠢 2013-05-06
学习新思路:API中的class,class可以实现的方法都可以去API文档上查找。
                           class的实例对象代码内存里的字节码,
Class cls1=字节码1;
Class cls2=字节码2;
每一个字节码就是一个实例对象,
Class cls1=Date.class//date这个类的字节码,Class.forName("java.lang.String"),可以得到这个类的字节码,
 2中情况:1:这个类已经有了(字节码已经在java虚拟及中)。
                    2:这个类还没加载(字节码开始在虚拟机中加载)。
Class cls1=void.class;这是一份字节码.
public calss RefletTest
{
 String str1=“abc”;
 Class cls1=str1.getClass();
calss cls2=String.class;
Class cls3=Class.forName("java.lang.String");
这三份字节码在内存中是否指向同一个字节码?
System.out.println(cls1==cls2);
System.out.println(cls3==cls2);
得到结果为:true。
 同一份字节码。
System.out.println(cls1.isPrimtive());
System.out.println(int.class.isPrimitive()); 基本类型的字节码。
System.out.println(int.class==Integer.TYPE);所包装的基本类型的字节码。
int[].class.isPrimitive());数组也是一种类型,但不是原始类型.。
数组类型的class的实例对象Class.isArray();
【总之,只要是在源程序中有类型,都有各自的class实例对象】。
 
 
 
主要用在面试中,平时很少触及,明白原理就行了

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多