Java反射初探

学习目标:初步了解Java反射的用法

  • 初步接触java中的反射相关知识与用法

学习内容:

  1. 反射的概念与强大之处
  2. 获得Class类的几种方式
  3. 具有Class对象的类型

学习时间:

40分钟


学习产出:

1、反射的概念及强大之处

Reflection(反射)是Java动态运行的关键所在,反射机制允许程序在执行期间获得任何类的内部信息,并可直接操作任意对象属性及方法

 2、获得Class类的几种方式

public class ReflectionDemo extends Object{
    public static void main(String[] args) throws ClassNotFoundException {
        /*
        通过反射获取类的class对象
        一个类在内存中只有一个Class对象,类一旦被加载,Class对象将包含类的整个结构
         */
        User user = new Manager();
        System.out.println("这个人是:" + user.name);
        // 获取Class的几种方式
        // 方式一:通过对象获得
        Class c1 = user.getClass();
        System.out.println(c1.hashCode());
        // 方式二:forName获得
        Class c2 = Class.forName("notation.Manager");
        System.out.println(c2.hashCode());
        // 方式三:通过类名.class获得
        Class c3 = Manager.class;
        System.out.println(c3.hashCode());
    }
}


// 实体类
class User {
    public String name;
    public int id;
    public int age;
}

class Manager extends User {
    public Manager() {
        this.name = "管理员";
    }
}

3、具有Class对象的类型

public class ReflectionDemo2 {
    public static void main(String[] args) {
        Class c1 = Object.class;  // 类
        Class c2 = Comparable.class;  // 接口
        Class c3 = String[].class;  // 一维数组
        Class c4 = int[][].class;  // 二维数组
        Class c5 = Override.class;  // 注解
        Class c6 = ElementType.class;  // 枚举
        Class c7 = Integer.class;  // 基本数据类型
        Class c8 = void.class;  // void
        Class c9 = Class.class;  // Class

        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);
        System.out.println(c4);
        System.out.println(c5);
        System.out.println(c6);
        System.out.println(c7);
        System.out.println(c8);
        System.out.println(c9);
    }
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值