所有的类,都存在一个类对象,这个类对象用于提供类本身的信息,比如有几种构造方法, 有多少属性,有哪些普通方法。
每个类的类对象是唯一的。
获取类对象的方法:
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语句块中的语句也只会调用一次。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)