java 获取字节码文件的几种方法总结
java获取字节码文件的几种方法总结
在本文中,以Person类为例,将分别演示获取该类字节码文件的三种方式,
其具体思想及代码如下所示:
publicclassPerson{ privateintage; privateStringname; publicPerson(){ System.out.println("personrun"); } publicPerson(Stringname,intage){ this.age=age; this.name=name; System.out.println("Personparamrun..."+this.name+":"+this.age); } publicvoidshowInfo(){ System.out.println(this.name+"......"+this.age); } }
publicclassGetClassFile{ publicstaticvoidmain(String[]args)throwsClassNotFoundException{ getClassObject_3(); } /** *通过给定的类的字符串名称就可以获取该类的字节码文件,更利于扩展 *可以用Class类中的"forName()"方法来完成 */ publicstaticvoidgetClassObject_3()throwsClassNotFoundException{ //包名一定要写全,否则会报"java.lang.ClassNotFoundException"异常 StringclassName="src.Person"; Classclazz=Class.forName(className); System.out.println(clazz); } /** *任何数据类型都具备一个静态属性 *通过".class"来获取对应的Class对象 *扩展性较差 */ publicstaticvoidgetClassObject_2(){ Classclazz=Person.class; Classclazz1=Person.class; System.out.println(clazz==clazz1); } /** *运用Object类中的getClass方法 *用这个方法时,必须明确具体的类,并创建对象 *比较麻烦 */ publicstaticvoidgetClassObject_1(){ Personp=newPerson(); Classclazz=p.getClass(); Personp1=newPerson(); Classclazz1=p1.getClass(); System.out.println(clazz==clazz1); } }
以上就是java获取字节码文件的几种方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!