大连滕泰科技学习笔记2020-06-16

2020-06-16  本文已影响0人  RX_AI

0 ,知识点:

-- 0,1 类的加载器
一个类是如何被加载的?一个类如何被注册到jvm中的?

解决方案:

类加载器 ClassLoader 专门负责进行类的加载?
.class文件,叫做字节码文件
字节码文件被加载之后,生成类型(注册一个类)

> 类加载器分为三个大的种类,分别加载那些类?:
    >> Bootstrap 
        >>负责启动jvm(java虚拟机)C或者C++ 加载自己类库
        >> 想要查看类加载器加载那些类,
        >> 方案1:需要配置参数

类的加载器,加载的第一个类:肯定是Object> 方案2:做成jar文件
>> 扩展加载器 ExtClassLoader
>> 负责加载jdk中extend这个文件夹下内容
>> 应用加载器 AppClassLoader
>> 自己编写的类,被这个
相当于反射:定义的应用:
case1:java运行中,任意一个类型,都可以获取到这个类型的属性和方法。
任意一个类型 :== Class
-- 反射全部方法
>> getMethods()
>>>只能获取到当前类和父类的公开方法,构造方法除外
>>> 私有方法无法获取到。
>> getDeclaerMethods()
>> 获取当前类中所有方法包括这个私有方法
>> 父类的方法不再显示
>> getDeclaredConstructors

    >> A类中有一个方法我是知道,我就是获取这个方法,应该如何处理
        >> 思路:获取这个类方法的时候,需要传递一个名称,根据名称                          获取方法
        >> getDeclaredMethod("print", Object.class,String.class,
    
-- 反射全部的属性
    >> 获取全部的属性
        >> cls.getDeclaredFields();
    >> 根据名称获取字段名称
        >>  cls.getDeclaredField("id"); 根据这个名称获取域对象 
-- 问题:  
        -- Method
        -- Field
        -- 这两个类你是怎么理解?
上一篇下一篇

猜你喜欢

热点阅读