Java22:反射

Java22:反射,第1张

Java22:反射 类对象

所有的类,都存在一个类对象,这个类对象用于提供类本身的信息,比如有几种构造方法, 有多少属性,有哪些普通方法。
每个类的类对象是唯一的。

获取类对象的方法:

Class.forName(类名)
注意:1. 类名为String类型 2.需要进行ClassNotFoundException异常处理。

class test {
    public static void main(String[] args) {
        try {
            Class p = Class.forName("test"); //类名为String类型
            //或者 Class p = Class.forName(test.class.getName());
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

类.class

class test {
    public static void main(String[] args) {
        Class p = test.class;
    }
}

new 类().getClass()

class test {
    public static void main(String[] args) {
        Class p = new test().getClass();
    }
}

每个类的类对象是唯一的,因此创建多个类对象,实则指向的是同一个。

class hhh {
    public static void main(String[] args) {
        Class p1 = hhh.class;
        Class p2 = new hhh().getClass();
        System.out.println(p1 == p2);  //true
    }
}

创建类对象时,会调用类中static语句块中的语句。对同一个类创建多个类对象,static语句块中的语句也只会调用一次。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5712265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存