java字节码文件对象_java中可以通过类的class属性得到该类的字节码文件对象?...

Class c1 = Student.class;

可是无论是Student类还是它继承的Object类都没有class属性呀?

谢邀。

首先纠正一个错误,class 是 keyword ,不是 Student 类里的 static member 。.class 是 Java 中的某个特定语法。

其次,要得到该类的字节码文件,必须到文件系统中去找,无非就是 Student.class.getResource/getResourceAsStream 之类的方法,比较麻烦。建议看下asm、cglib等字节码开源项目。

最后,字节码是种比较复杂的技术,不得已而用之,比如获取方法参数里的Annotation(参考Spring Web MVC)。有些貌似可能和字节码有关的技术,实际上可以绕过,例如基于interface的AOP,完全可以用Proxy而不是用字节码来实现的。

我查的一个说法是,这个不是一个关键字,而是一个字面量,你可以尝试直接再ide中敲“Student.class”,是会提醒你需要将这个值赋给某个变量的。如果后续有查到新的会再补充,至于类加载的话,可以参考我的一篇博客自定义类加载器-从.class和.jar中读取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值