黑马程序员技术交流社区

标题: 高新反射 [打印本页]

作者: 空。    时间: 2015-6-13 22:06
标题: 高新反射
类:Class

        代表一类事物,Java程序中的哥哥Java类属于同一类事物,描述这类事物的Java
                类,就是Class

        getPackage()得到所属的包
        getName()的得到类的名字
        getMethods()得到自己所有的方法列表
        getInterfaces()得到自己实现的接口
       
        Person p1=new Person();

        Class cls1=Person.class;        Class的实例对象代表内存中的字节码
       
        获取字节码
        1:类名.class                对象的属性获得
        2:对象.getClass()        对象的静态forName方法
        3:Class.forName(类名)        反射经常用到

        九个预定义Class实例对象:
                包括八个基本数据类型:boolean,byte,char,short,int,long,float,double
                一个特殊的:void

        例:
                String str="abc";
                Class cls1=str.getClass();
                Class cls2=String.Class();
                Class cls3=Class.forName("java.lang.String");
        结果:
                cls1=cls2=cls3=true
        isPrimitive()是否是原始类型

        数组类型的Class实例对象:Class.isArray()

只要是,在源程序中出现的类型,都有各自的Class实例对象


Constructor类:代表某各类中的一个构造方法

        得到某各类所有的构造方法:
                Constructor [] constructor=Class.forName(类名).getConstructors();
        得到某一个构造方法:
                Constructor constructor=Class.forName(类名).geetConstructor(类名.class);





作者: sk0806    时间: 2015-6-13 22:08
反射,,受教了,那个视频中的
作者: 付欢    时间: 2015-6-13 22:12
还没学到,先看看

作者: heiheihehe    时间: 2015-6-14 21:08
急急急急急急急急急
作者: QQheima    时间: 2015-6-14 22:03
反射为啥要加上“高新”这个前缀呢???




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2