java 获取字节码文件的几种方法总结
程序员文章站
2024-02-25 16:43:09
java 获取字节码文件的几种方法总结
在本文中,以person类为例,将分别演示获取该类字节码文件的三种方式,
其具体思想及代码如下所示:
public c...
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 获取字节码文件的几种方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!