抽象类与普通类相比 约定了子类实现要求 单继承局限
因此,提出了接口
在以后的开发设计原则,接口优先
1.接口的基本概念
接口是抽象方法和全局常量的集合,在java中可以使用interface关键字定义
interface IMessage (在开发中接口名称前面需要加一个I)
子类需要用implements关键字来实现接口,同时一个子类可以实现多个接口,可以利用接口实现多继承的概念。
class Message implements IMessage,INews{}
一个子类实现了多个接口,对于接口的子类不是抽象类,必须覆写接口中的全部方法。
当一个子类继承了多个接口之后,接口对象通过子类进行实例化,那么多个父接口之间是可以互相转换的,但是是通过子类转换的,实例化的时候要注意new后面的实例化,不要盯着名称看。
2.接口的使用限制
接口里面只允许存在public权限;
接口中只是抽象方法和全局常量;
在编写的接口时候,开发原则,接口中只提供抽象方法,很少会在接口中看见全局常量,因此接口的方法public不会省略,但是abstract会省略;
一个子类先使用extends继承,再使用implements实现接口;
定义抽象类的时候会在抽象类的名称表现出来;
一个抽象类可以使用implements实现多个接口,但是接口不能继承抽象类;
一个接口可以使用inplements实现多个父接口;
接口可以定义一系列内部结构,包括:内部普通类、内部抽象类、内部接口,使用static定义的内部接口相当于外部接口;
3.使用接口定义标准
使用接口和对象对象多态性的结合,对于参数的统一更加明确。
接口是设计在类之上的设计抽象。
正常的开发先设计接口,再设计类。
4.接口工厂设计模式(重点)
java实现可移植性的关键是JVM,也就是说所有的程序是在JVM上执行,而不同的操作系统中有匹配的JVM,相当于:
程序 --JVM--操作系统。
new是整个开发过程中最大的耦合元凶,在开发之中解耦合的关键,需要引入一个第三方。
总结:主方法没有变化就实现子类的变更,就是工厂模式;
编写的接口,想取得接口的实例化对象,写工厂类。
5.接口代理设计模式(Proxy)
代理严格来讲就是两个子类共同实现一个接口,一个子类负责真实的业务实现,另一个子类完成辅助业务的主题的操作。
本质:所有真实的业务操作,都会有与之辅助的功能类共同完成。
原文来自于:https://blog.csdn.net/weixin_38266599/article/details/82150376
原文地址:https://www.cnblogs.com/ylsunnny/p/10017702.html