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());
    }
    
}

目录
相关文章
|
6月前
|
设计模式 Java
Java中创建对象的方式
Java中创建对象的方式
52 5
|
4月前
|
存储 算法 Java
JAVA程序运行问题之Java类加载到JVM中加载类时,实际上加载的是什么如何解决
JAVA程序运行问题之Java类加载到JVM中加载类时,实际上加载的是什么如何解决
|
5月前
|
Java
Java创建对象有几种方式
Java创建对象有几种方式
22 1
|
4月前
|
Java
Java中的动态类加载详解
Java中的动态类加载详解
|
6月前
|
安全 前端开发 Java
Java语言中的类装载机制详解
Java语言中的类装载机制详解
|
5月前
|
安全 Java
Java 对象创建与使用:你真的会用吗?
【6月更文挑战第15天】在Java中,对象创建涉及`new`关键字和构造器,用于初始化。使用对象时注重属性和方法的访问,遵循命名规范。关注对象生命周期,避免过度创建,如在循环内,以减少内存消耗和提高性能。还要考虑线程安全,尤其在多线程环境下,确保正确同步以防止数据不一致。通过优化对象的创建与使用,提升代码效率和可靠性。
42 0
|
Java
Java 反射--创建运行时类的对象
Java 反射--创建运行时类的对象
54 0
你知道 Java 类是如何被加载的吗?
一:前言 最近给一个非Java方向的朋友讲了下双亲委派模型,朋友让我写篇文章深度研究下JVM的ClassLoader,我确实也好久没写JVM相关的文章了,有点手痒痒,涂了皮炎平也抑制不住。 我在向朋友解释的时候是这么说的:双亲委派模型中,ClassLoader在加载类的时候,会先交由它的父ClassLoader加载,只有当父ClassLoader加载失败的情况下,才会尝试自己去加载。
11176 4
|
监控 Java
java类在何时被加载
java类在何时被加载
628 0
java类在何时被加载
|
IDE 数据可视化 Java
查看Java字节码内容的几种方式
查看Java字节码内容的几种方式