每一个类被加载后,系统就会生成该类对应的一个class类,该类描述了类的访问属性,类说属于的报名,字段属性,系统通过class对象就能访问到JVM中的这个类。通俗的说就是先生成class 再通过instance得到该类
来看下段代码:
public class GetClass {
private final int id = 0;
private final String name = " ";
//私有构造函数,为了是单列
private GetClass(){
}
//通过内部类实例化该类对象
private static class GetClassInner {
private static GetClass object = new GetClass();
}
/**
* 获取类的方法
* @return
*/
public static GetClass getInstance(){
return GetClassInner.object;
}
public static void main(String[] args) {
//单例实例化一个对象
GetClass instance = GetClass.getInstance();
//打印单例实例化一个对象的信息
System.out.println(instance.getClass().getName());
//打印该对象的信息
System.out.println(GetClass.class.getName());
}
}
private final int id = 0;
private final String name = " ";
//私有构造函数,为了是单列
private GetClass(){
}
//通过内部类实例化该类对象
private static class GetClassInner {
private static GetClass object = new GetClass();
}
/**
* 获取类的方法
* @return
*/
public static GetClass getInstance(){
return GetClassInner.object;
}
public static void main(String[] args) {
//单例实例化一个对象
GetClass instance = GetClass.getInstance();
//打印单例实例化一个对象的信息
System.out.println(instance.getClass().getName());
//打印该对象的信息
System.out.println(GetClass.class.getName());
}
}
结果:
com.uu.test.java.GetClass
com.uu.test.java.GetClass
com.uu.test.java.GetClass