简介 目录 评价 推荐
  • superman4892475 2024-02-28
    *万事万物皆对象。
    类也是对象,是Class类的实例对像,这个对象我们称为该类的类类型。
    0赞 · 0采集
  • 小_欧文 2022-11-22

    new 创建对象,是在编译时静态加载类,需要加载所有可能用到的类

    0赞 · 0采集
  • 慕标1503645 2022-06-21
    反射操作的步骤
    1.获取类类型
    2.方法名。参数
    0赞 · 0采集
  • 慕标1503645 2022-06-20
    成员变量也是对象Filed的对象
    getFiled 获取所有publice成员
    getDeclineFiled 获取自己的成员变量
    get construction 构造方法也是对象
    get parmesan 获取参数列表
    0赞 · 0采集
  • 慕标1503645 2022-06-20
    getSampleName 不包含包名的名称
    方法也是对象,是Method对象
    获取类的全部方法,c.getMethods 全部public方法,包括父类继承的
    getDeclineMethods 获取所有自己申明的方法
    0赞 · 0采集
  • 慕标1503645 2022-06-20
    Foo foo = new Foo()
    这是静态加载,编译时检查
    c=Class.getForName
    c.instance
    这是类的动态加载
    思想 如果有多个重复的模块功能,可以用动态加载,实现统一的接口interface,主逻辑不用变,新功能添加时只添加相应的类就行。
    0赞 · 0采集
  • 慕标1503645 2022-06-20
    获取类的方式
    1.Class c1= Foo.Class;
    2.Class c2= foo.getClass();
    3.Class c3=Class.getForName();
    c1=c1=c3
    他们都可以创建 Foo的对象
    c1.getInstance
    前提是有无参构造方法
    0赞 · 0采集
  • 琪云 2022-06-08

    http://img4.mukewang.com/62a0418c0001c8c207060303.jpg

    123

    0赞 · 0采集
  • 慕尼黑6265340 2022-03-17
    反射用于什么地方,作用是什么
    0赞 · 0采集
  • qq_慕移动2510484 2021-12-08

    反射


    0赞 · 0采集
  • qq_慕勒2129089 2021-11-24

    。。。

    0赞 · 0采集
  • 慕九州4438912 2021-06-10
    反射
    截图
    0赞 · 0采集
  • qq_星河k_0 2021-05-13

    动态加载方式

    0赞 · 0采集
  • 安静的胡萝卜 2021-05-08

    成员变量也是对象

    java.lang.reflect.Field

    Field类封装了关于成员变量的操作

    getFields()方法获取的是所有的public的成员变量的信息

    getDeclaredFields() 获取的该类自己声明的成员变量的信息

    构造函数也是对象

    java.lang.Constructor中封装了构造函数的信息

    0赞 · 0采集
  • 安静的胡萝卜 2021-05-08
    要获取类的信息,首先要获取类的类类型
    传递的是哪个子类的对象,获取的就是该子类的类类型
    Class c = obj.getClass();
    获取类的名称
    c.getName();
    获取方法
    Method类时方法对象
    一个成员方法就是一个Method对象
    getMethods()方法获取的是所有的public的函数,包括父类集成而来的
    getDeclaredMethods()获取的是所有该类自己声明的方法,不问访问权限

    getReturnType()   得到方法的返回值类型的类类型

    getParameterTypes()   得到参数列表的类型的类类型

    0赞 · 0采集
  • 安静的胡萝卜 2021-05-08

    Class.forName(类的全称)   代表了动态加载类

    编译时刻加载类时静态加载类

    运行时刻加载类是动态加载类

    new创建对象是静态加载类,在编译时刻就需要加载所有可能使用的类

    动态加载类,在运行时加载,再通过类类型创建类型对象

    0赞 · 2采集
  • 安静的胡萝卜 2021-05-08

    可以通过类的类类型创建该类的对象实例,需要有无参数的构造方法

    类名  对象 =  c1.newInstance();

    0赞 · 0采集
  • 安静的胡萝卜 2021-05-08

    任何一个类都是Class的实例对象,这个实例对象有三种表达方式

    第一种,

    Class c1 = 类名.class;

    第二种 该类的对象通过getClass()方法获得


    Class c2 = 对象.getClass();

    c1  c2表示了类的类类型,不管c1 c2都代表了父类的类类型,一个类只可能是Class类的一个实例对象

    第三种

    Class c3 = null;

    c3 = Class.forName(类的全路径);

    0赞 · 0采集
  • 一只小马甲甲 2021-04-07

    double.class 不同于Double.class

    double是个类型 Double是类

    截图
    0赞 · 0采集
  • 一只小马甲甲 2021-01-11

    绕过编译器对泛型list添加泛型规定的类型元素.

    截图
    0赞 · 0采集
  • 一只小马甲甲 2021-01-11

    泛型只在 编译阶段 有效.

    截图
    0赞 · 0采集
  • 一只小马甲甲 2021-01-11

    函数参数列表的类类型. 

    getParameterTypes

    截图
    0赞 · 0采集
  • 一只小马甲甲 2021-01-11

    getMethods获取不到 继承而来的 方法.

    截图
    0赞 · 0采集
  • 一只小马甲甲 2021-01-11

    double.class 和 Double.class 完全不同.

    截图
    0赞 · 0采集
  • 一只小马甲甲 2021-01-11

    这里实现了不需要再次编译.

    也就实现了所谓的"动态".

    截图
    0赞 · 0采集
  • 一只小马甲甲 2021-01-11

    这里太经典了. 是"接口"使用的具体场景. 也就是"提取公共/抽象的部分".

    截图
    0赞 · 0采集
  • 一只小马甲甲 2021-01-11

    这里是"运行时报错"的实例(也就是控制台报错).

    但是编译时不报错. 

    当然 报错的原因是找不到forName里的的参数所指向的"类"

    截图
    0赞 · 0采集
  • 一只小马甲甲 2021-01-11

    这里用Class.forName方法实现"动态加载类".

    截图
    0赞 · 0采集
  • 一只小马甲甲 2021-01-11

    这里注意"需要有无参数的构造方法".

    截图
    0赞 · 0采集
  • 一只小马甲甲 2021-01-11

    Class xx   xx就是类类型(class type)

    截图
    0赞 · 0采集
数据加载中...
开始学习 免费