AJPFX的反射学习笔记

反射是描述 数据结构的结构
属性、方法(数据)元数据
类(数据结构)描述数据的结构–>类也是特殊的对象---->元数据
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();

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

猜你喜欢

转载自blog.csdn.net/AJPFX/article/details/90230979