Interface(接口)
特殊的抽象类
优点:①提高代码的复合性②解耦③定义编程规范④接口多实现(而继承只能单继承eg.class C extends D implents A,B{…}表示C继承D,实现接口A,B(接口A,B可以归成一类,比如接口R继承A,B,这样写的时候可以直接写成R,而不用写A,B))
结构:
public interface Interface01{
…
}
然后另外创建interface文件
变量默认修饰词为public static final
写抽象方法时默认使用public abstract
eg.public abstract void method();|int method();|void method();因为默认可以不写public abstract
注:1. 接口以不能实例化
2. 实现接口需要用关键字implements(子类),才能拥有接口的功能
父类中的抽象方法需要在子类中重写才能调用
(父类中的属性方法子类可以用,但是父类的接口需要实现才能够在子类中使用)
结构:class Test(这是创建的子类) implements Interface01(这是父类){
…
}
3.类只能实现接口,不能继承接口。类只能继承类,不能实现类。
3. 写的时候类需要先继承再实现
Single
单例模式:一个类只能建立一个实例
单例模式(single)有两种模式即饿汉式和懒汉式
饿汉式在第一次加载的时候就创建实例
特点:线程安全,效率较低
懒汉式在第一次调用功能的时候创建实例
特点:线程不安全,效率较高
单例模式的结构有三:
1.构造器私有化
2.私有的+静态的+该类的引用
StaticProxy
静态代理模式:
- 真实角色和代理角色实现相同的接口
- 代理角色持有真是角色的引用
优点:降低与真实角色的交流,减少代码的耦合度,便于后期的维护与拓展
Factory
简单工厂模式
使得抽象产品角色成为具体产品角色实现的接口
主要由具体产品角色,抽象产品角色(作为接口或者父类)以及工厂组成