一个类在 JVM 中只会有一个 Class
实例
public class Person {
public String name = "zhangsan";
private int a;
public Person(int b) {
this.a=a;
}
}
public class A {
public static void main(String[] args) throws ClassNotFoundException {
//方式1
Person p1 = new Person(2);
p1.name="haha";
Class c1 = p1.getClass();
//方式2
Class c2 = Person.class;
//方式3可能会抛出ClassNotFoundException异常
Class c3 = Class.forName("com.company.Person");
System.out.println(c1.equals(c3)); //true
System.out.println(c1.equals(c2)); //true
System.out.println(c3.equals(c2)); //true
}
}
- 运行结果
true
true
true