单例模式:
① 构造方法私有
② 提供公开的静态方法返回该类唯一的实例
反射:
JVM在进行类加载时,会产生类对应的类对象
类对象:包含了一个类所有信息的对象
类的对象:根据类的类对象包含的信息创建出来的对象
JVM拿到类对象可以创建类的对象、访问属性、调用方法
所有的类对象都是Class类型的对象,该类型的对象包含某一个类的信息。
获取类对象的3种方式:
① 类名.class
② 类的对象.getClass();
③ Class.forName("全类名");
反射作用:
① 操作私有成员
② 可以写出更加通用的代码
③ 真正的解耦合
④ 使得框架的代码和后写的业务代码无缝结合
枚举:
特殊的类,该类型的对象是预先创建好的,不能新建该类型的对象。
① 枚举类中的枚举值,既是枚举类型的对象又是枚举的公开静态常量属性。
② 枚举中枚举值的定义,必须是第一行语句。
③ 枚举中的构造方法默认私有
④ 枚举中可以定义抽象方法,那么枚举值就只能作为枚举类的匿名子类对象