接口特点
什么是接口:
接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。Java中的接口更多的体现在对行为的抽象!
1.接口 用关键字interface 修饰
public interface 接口名{}
2.类实现接口用 implements 表示
public class 类 implements 接口 {}
3.接口不能够实例化
接口如何实例化呢?参照多态的方式,通过实现类对象实例化,这叫接口多态。
多态的形式:具体类多态,抽象类多态,接口多态。
4.多态的前提:有继承或者实现关系;有方法重写;有父(类/接口引用)指向(子/实现)类对象
5.接口的实现类,要么重写接口中所有的抽象方法、要么是抽象类
接口成员特点
1、成员变量只能是常量;(直接通过接口名称访问即可)默认修饰符 public static final
2、成员方法只能是抽象方法;(JDK8开始 是可以在接口中定义非抽象方法 是需要加上default关键字修饰)默认修饰符 public abstract
3、接口没有构造方法;
因为接口主要对行为进行抽象,没有具体存在,一个类如果没有父类,默认继承自Object类
类和接口的区别
1.类和类的继承关系 (一个类只能够单继承一个父类不能够多继承n多个不同的父类 )继承关系,只能单继承,但是可以多层继承
2.类和接口的实现关系(一个类可以实现n多个不同的接口)实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口
3.接口和接口继承的关系(一个接口是可以继承n多个不同的接口的)继承关系,可以单继承,也可以多继承
抽象类和接口的区别
1.成员区别
1.1抽象类变量.常量;有构造方法;有抽象方法,也有非抽象方法
1.2接口常量,抽象方法(JDK8在接口中定义非抽象方法)
2.关系区别
2.1类与类继承单继承
2.2类与接口实现,单实现和多实现
3.3接口与接口继承,单继承和多继承
3.设计区别
抽象类 对类抽象,包括属性行为(对事物的抽象)
接口 对行为抽象,主要是行为(对行为的抽象)