所有的类,都存在一个类对象,这个类对象用于提供类本身的信息,比如有几种构造方法, 有多少属性,有哪些普通方法。
每个类的类对象是唯一的。
获取类对象的方法:
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语句块中的语句也只会调用一次。



