zoukankan      html  css  js  c++  java
  • JAVA反射机制教程-获取类对象

    1. 什么是类对象

    类对象,就是用于描述这种类,都有什么属性,什么方法的

    2. 获取类对象

    获取类对象有3种方式
    (1). Class.forName
    (2). Hero.class
    (3). new Hero().getClass()
    在一个JVM中,一种类,只会有一个类对象存在。所以以上三种方式取出来的类对象,都是一样的。

    3. 获取类对象的时候,会导致类属性被初始化

    4. 通过反射机制创建一个对象

     //使用反射的方式创建对象
    String className = "charactor.Hero";
    //类对象
    Class pClass=Class.forName(className);
    //构造器
    Constructor c= pClass.getConstructor();
    //通过构造器实例化
    Hero h2= (Hero) c.newInstance();

    5. getField和getDeclaredField的区别(获取属性字段)

    这两个方法都是用于获取字段
    getField 只能获取public的,包括从父类继承来的字段。
    getDeclaredField 可以获取本类所有的字段,包括private的,但是不能获取继承来的字段。 (注: 这里只能获取到private的字段,但并不能访问该private字段的值)

    //获取类Hero的名字叫做name的字段
    Field f1= h.getClass().getDeclaredField("name");
    //修改这个字段的值
    f1.set(h, "teemo");

    6. 调用方法

    // 获取这个类的名字叫做setName,参数类型是String的方法
    Method m = h.getClass().getMethod("setName", String.class);
    // 对h对象,调用这个方法
    m.invoke(h, "盖伦");
  • 相关阅读:
    WebStorm使用Vue
    hive的简单操作
    hbase的简单操作
    CentOS 7 配置hadoop(五) 配置sqoop(伪分布)
    CentOS7配置hadoop集群
    CentOS 7 配置hadoop(四) 配置hive(伪分布)
    CentOS 7 配置hadoop(三) 配置hbase(伪分布)
    五种变量创建的方法
    GO练习题
    第一次作业总结
  • 原文地址:https://www.cnblogs.com/changna1314/p/6869407.html
Copyright © 2011-2022 走看看