概要
接口(interface)
整体架构流程
接口的使用:
1.接口使用interface来定义
2.Java中,接口和类是并列的两个结构
3.如何定义接口,定义接口中的成员
3.1JDK7以前,只能定义全局变量和抽象方法
全局变量:public static final(可以省略不写)可以说是常量不可以修改了
抽象方法(public abstract )可以省略不写
3.2JDK8,除了定义全局常量和抽象方法之外,还可以定义静态方法,默认方法(略)
重点:
接口中不能定义构造器,意味着接口不能实例化;
在Java开发中,接口通过类去实例(implements方法来使用)
如果实现类覆盖了接口的所有抽象方法则可以实现(抽象的方法我们叫实践)
6Java类可以多实现接口:(弥补了单继承的缺点)
格式; calss AA extends BB implments CC(){}
7接口无构造器 所以接口可以多继承 (接口和接口可以多继承)
接口名词解释
接口是规范,定义的是一组规则,体现了现实世界中现实世界中“如果你是/要...则必须能”的思想,继承是一个是不是的关系,而几口实现的是能不能的关系。
接口的本质是契约,标准,规范,就像我们的法律一样,指定好后大家都要遵循。
实例演示
抽象类和接口哪些异同
抽象类和接口是Java编程中常见的两种概念,它们的作用都是为了实现代码的复用性和灵活性。它们的异同如下:
异同点:
1. 都不能被直接实例化,需要被子类实现后才能创建对象。
2. 都可以包含抽象方法,抽象方法只有声明而没有实现。
3. 都支持多个实现。
4. 都可以被用来实现多态。
区别点:
1. 抽象类可以包含具有实现的方法,而接口只能包含抽象方法。
2. Java中一个类只能继承一个抽象类,但是可以实现多个接口。
3. 抽象类可以拥有构造方法,而接口没有构造方法。
4. 接口中的变量只能是静态常量,而抽象类中的变量可以是任何类型。
5. 接口可以继承多个接口,但是抽象类只能继承一个抽象类或者一个具体类。
总结:
在Java中,抽象类和接口都是为了提高代码的复用性和灵活性,同时它们也有一些异同之处。抽象类可以包含具有实现的方法,而接口只能包含抽象方法。Java中一个类只能继承一个抽象类,但是可以实现多个接口。接口中的变量只能是静态常量,而抽象类中的变量可以是任何类型。因此,在使用的时候需要根据具体情况来选择抽象类还是接口。
接口的应用:
- 代理模式(Proxy):
- 安全代理(屏蔽了对真实角色的直接访问)
- 远程代理(通过代理嘞处理远程方法调用(RMI)
- 延迟加载(先加载轻量级的代理对象,真正需要再加载实际对象)
分类:
- 静态代理(静态定义代理类)
- 动态代理(动态定义代理类)
- JDK自带的动态代理需要学反射知识
工厂模式:实现创建者与调用者的分离
简单工厂