java 获取字节码文件的几种方法总结
在本文中,以person类为例,将分别演示获取该类字节码文件的三种方式,
其具体思想及代码如下所示:
public class person { private int age; private string name; public person() { system.out.println("person run"); } public person(string name, int age) { this.age = age; this.name = name; system.out.println("person param run..." + this.name + ":" + this.age); } public void showinfo() { system.out.println(this.name + "......" + this.age); } }
public class getclassfile { public static void main(string[] args) throws classnotfoundexception { getclassobject_3(); } /** * 通过给定的类的字符串名称就可以获取该类的字节码文件,更利于扩展 * 可以用class类中的"forname()"方法来完成 */ public static void getclassobject_3() throws classnotfoundexception { // 包名一定要写全,否则会报"java.lang.classnotfoundexception"异常 string classname = "src.person"; class clazz = class.forname(classname); system.out.println(clazz); } /** * 任何数据类型都具备一个静态属性 * 通过".class"来获取对应的class对象 * 扩展性较差 */ public static void getclassobject_2() { class clazz = person.class; class clazz1 = person.class; system.out.println(clazz == clazz1); } /** * 运用object类中的getclass方法 * 用这个方法时,必须明确具体的类,并创建对象 * 比较麻烦 */ public static void getclassobject_1() { person p = new person(); class clazz = p.getclass(); person p1 = new person(); class clazz1 = p1.getclass(); system.out.println(clazz == clazz1); } }
以上就是java 获取字节码文件的几种方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
如对本文有疑问, 点击进行留言回复!!
unity的错误解决办法:NullReferenceException: Object reference not set to an instance of an object;tiny proje
Hadoop 之 HDFS (HDFS 数据流的 读写 流程)
听说你一读Spring源码就懵逼?我帮你把架子搭好了,你填就行!
首席架构师推荐:金融保险领域数字化转型实践--如何优雅地修改业务中台中分层应用Maven多模块的版本号?(命令导入式)
[JVM学习之路]一、初识JVM,了解其结构、模型及生命周期
网友评论