当前位置: 移动技术网 > IT编程>开发语言>Java > java 获取字节码文件的几种方法总结

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

2019年07月19日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网