Java反射获取字节码信息四种方式

*Java的反射机制

*是,在运行状态中,对于任意的一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息及动态调用方法的功能成为java的反射机制。

*获取字节码信息的四种方式:

  • 1.通过内置的class属性 类名.class
    2. 对象.getclass()
    3.调用Class类提供的静态方法forName()Class.forName(“全限定名”)
    4.通过类加载器加载 getClassLoad() 再loadClass(“权限的名”)
在这里插入代码片
```package com.reflect;

public class Test {
    public static void main(String[] args) throws ClassNotFoundException {
//        1.通过.class
        Class<Car> cls1 = Car.class;

//        2.通过 对象.getClass
        Car car = new Car();
        Class cls2 = car.getClass();

//        3.通过Class.forName()
        Class<?> cls3 = Class.forName("com.reflect.Car");

//        通过classload获取
        ClassLoader loader = Test.class.getClassLoader();
        Class cls4 = loader.loadClass("com.reflect.Car");

        System.out.println(cls1==cls2);  // result:true
        System.out.println(cls2==cls3);  // result:true
        System.out.println(cls3==cls4);  // result:true

    }
}

```java
在这里插入代码片

通过Class.froName创建出来的方式是最常用的
四种方式没敲过的还是得动手敲一下,比如第二种是对象.getclass,而不是第一种类名.class
可以发现通过四种方式创建出来的都是一样的

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值