java中三种方式获得类的字节码文件对象

简介:

package get_class_method;

public class ReflectDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        getClassObject1();
        getClassObject2();
        getClassObject3();
    }
    
    public static void getClassObject1(){
        Person p = new Person();
        System.out.println(p.getClass().getName());
    }
    /*
     * 方式二:重点掌握
     * 通过给定类的字符串名称就可获得该类的字节码文件对象,更为扩展。
     * (第一种和第三种都不具有扩展性)
    */
    public static void getClassObject2(){
         Class<Person> pclass = null;
         try {
             /*
              * 类的名字一定要写全(包括该类的包)
              * 因为工程默认的路径查找时在bin目录或者src目录,如果类名不全,就无法找到该类
             */
             pclass = (Class<Person>) Class.forName("get_class_method.Person");
             System.out.println(pclass.getName());
         } catch (ClassNotFoundException e) {
             e.printStackTrace();
         }
    }
    /*
     * 方式三:
     * 任何数据类型都有一个静态的属性 .class来获取其对应类的字节码文件对象
     * 相对简单,但是还是要明确用到类中的静态成员。还是不够扩展!
    */
    public static void getClassObject3(){
        Class pclass = Person.class;
        System.out.println(pclass.getName());
    }
    
}

目录
相关文章
|
7月前
|
Java
使用Java中的反射机制实现动态加载类
在Java编程中,反射是一种强大的技术,它允许我们在运行时获取并操作类、对象、方法以及属性的信息。其中一个重要的应用场景是动态加载类,这使得我们能够在程序运行时根据需要加载和使用特定的类。
79 1
|
6月前
|
Cloud Native Java Go
Java加载ICC文件的方法总结
Java加载ICC文件的方法总结
37 0
|
8月前
|
Java
Java 反射--创建运行时类的对象
Java 反射--创建运行时类的对象
34 0
|
监控 Java
java类在何时被加载
java类在何时被加载
604 0
java类在何时被加载
|
IDE 数据可视化 Java
查看Java字节码内容的几种方式
查看Java字节码内容的几种方式
|
Java C++ 索引
108. 你真的知道 Java 类是如何被加载的吗?(二)
108. 你真的知道 Java 类是如何被加载的吗?(二)
95 0
|
Java API 容器
108. 你真的知道 Java 类是如何被加载的吗?(一)
108. 你真的知道 Java 类是如何被加载的吗?(一)
81 0
|
算法 Java 编译器
【JAVA】不会有人不知道 Java 类能够在运行时动态生成吧?
探讨了更加深入的类加载和字节码操作方面技术。为了理解底层的原理,选取的例子是比较偏底层的、能力全面的类库,如果实际项目中需要进行基础的字节码操作,可以考虑使用更加高层次视角的类库。
271 0
|
Java
12、Java——对象和类案例代码详解
12、Java——对象和类案例代码详解
131 0
|
Java API 开发者
如何动态生成一个Java类
如何动态生成一个Java类
415 0
如何动态生成一个Java类