java 字节码对象_获得类的字节码对象的三种方式

本文介绍Java源码如何编译成字节码文件,并通过三种方式演示如何利用类加载器获取字节码对象,进而操作源码中的属性和方法。同时展示了如何通过类加载器获取资源文件的路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java源码(xxx.java)通过编译后形成字节码文件,字节码文件通过类加载器获得字节码对象,

通过字节码对象可以操作源码中的属性和方法。

1b1bfc42415ccdfaad6964f4541641d7.png

方式一,使用类的class属性:

Class clazz1 = java.util.Date.class;

方式二,通过Class类中的静态方法forName(String className),传入类的全限定名(必须添加完整包名)

Class> clazz2 = Class.forName(“java.util.Date”);

方式三,通过对象的getClass方法来实现,其中,getClass()是Object类中的方法,所有的对象都可以调用该方法

java.util.Date str = new java.util.Date();

Class> clazz3 = str.getClass();

通过类加载器获得src下的任何资源的路径(类加载器的使用)

public class Demo {

public static void main(String[] args) {

//获得Demo的字节码对象

Class clazz=Demo.class;

//获得Demo字节码文件的类加载器

ClassLoader classLoader = clazz.getClassLoader();

//获得classes(src)下的任何资源,注意!!src下

String path = classLoader.getResource("jdbc.properties").getPath();

System.out.println(path);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值