抽象类与普通类相比  约定了子类实现要求  单继承局限

因此,提出了接口

在以后的开发设计原则,接口优先

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

posted on 2018-11-25 22:04  ylsunny  阅读(743)  评论(0编辑  收藏  举报