A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我爱睡觉 中级黑马   /  2016-1-10 19:10  /  734 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

反射是描述 数据结构的结构
        属性、方法(数据)元数据
        类(数据结构)描述数据的结构-->类也是特殊的对象---->元数据
        CLASS类 描述数据结构的结构
        在JAVA里面用Class  类 描述类的类        ---->
                    Method 类 描述类中的方法    ---->
        反射得到描述数据额结构的数据的一种行为
        
        Class类中有{
            getPackage();//得到包
            getName();//得到类名
            getModerfy();//得到修饰符
            Class getSuperclass();//得到父类 只有一个父类   返回一个Class <?>类型
            Class gerInterface();//得到接口
            Class[] getClasses();//得到多个子类   要用数组装
            Filed[] getFiled();//获得一个类里面 所有的字段
            Filed getFiled(String filename);//获得指定名称的字段
            getConstructors();//获得构造器
            getConstructor(Class...parameterType);//基本数据类型可以转变成一个CLASS
        }
        JAVA字段?
        JAVA构造器?
        
        表示Class类的对象
        使用一个叫Class 的属性
        Class<String> c=String.class  //表示JVM里面表示String的字节码
        Class<String> c2=String.class   
        System.out.println("c2");
        System.out.println(c==c2);  //得到true 用的是内存中的的同一份字节码
        
        
        第二种
        由于Class类里面没有构造函数 所以就有至少一个或者两个的静态函数 比如:forName()
        forName(className,true,currentLoader)
            其中className为完全限定名----->带有包名的name,比如java.lang.string;
            Class<String> clazz=(Class<String>) Class.forName("java.lang.string")
        
        
        Objiect getClasses()----->返回一个运行时的类型----->不是定义的类型
            List<Stirng> lists=new ArrayList<String>;
            lists s=new lists();
        


反射会以失去性能作为代价
    框架用的多 性能失去多  因为框架就是用反射做的

7 个回复

倒序浏览
赞一个,加油
回复 使用道具 举报
赞一个,加油
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
加油                     
回复 使用道具 举报
赞一个赞一个
回复 使用道具 举报
赞一个,,,学的挺快的嘛
回复 使用道具 举报
有用,反射我只记的reflect
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马