1.匿名内部类
就是没有名字的内部类
一般方法参数需要接受一个接口类型的数据,那么我们调用的时候需要传入对应的 实现类 对象
此时 可以直接传递一个匿名内部类,就等于是一个子类
匿名内部类没有名字,不能重复使用,类名为 外部类类名 $1,以此类推
匿名内部类中,不能有静态声明,但是可以声明常量(public static final)
不能直接调用外部类的成员属性,需要对象才可以
2.单例模式
设计模式:代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案
这些解决方案是众多开发人员经过很长一段时间的实验和错误总结出来的
2.1 单例模式是什么
1.实例化对象,需要调用构造方法,想要控制创建对象的数量,那你就不能让别人创造对象,,所以就是别的类访问构造方法,所以构造方法私有化
2.提供一个用于获取当前类对象的静态方法
构造方法私有化以后,你不让人家创建可以,但是你得给人一个方法,把你自己创建的对象给他,那么阿盖方法一定是公共的静态方法
3.保证这个对象是同一个对象
静态变量
单例模式三部曲:
1.构造方法私有化
2.创建静态变量储存对象
3/提供一个静态方法用于替他类获取当前类对象
根据对象的创建时机不同,分为两类
1.饿汉模式:类加载完以后,就立刻创建对象
2.懒汉模式:第一次用到的时候,才创建对象
3.工厂模式
3.1
把实例化对象的语句,单独放到一个类中,这个类叫工厂类,专门创建对象
这样我们用到这个对象的时候,只需要去工厂类中获取即可,使类和类之间的耦合度降低