首页 > 编程 > Java > 正文

java 获取字节码文件的几种方法总结

2019-11-26 11:34:06
字体:
来源:转载
供稿:网友

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 获取字节码文件的几种方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表