一、接口
(1)猫钻火圈,狗跳高等功能,不是动物本身就具备的,是在后面的培养中训练出来的,
这种额外的功能, java 提供了接口表示。
(2)接口的特点:
A:接口用关键字 interface 修饰 interface 接口名 {}
B:类实现接口用 implements 修饰 class 类名 implements 接口名 {}
C:接口不能实例化 ,类可以有多个接口
D:接口的实现类 a:是一个抽象类。 b: 是一个具体类,这个类必须重写接口中的所有抽象方法。
(3)接口的成员特点:
A:成员变量 只能是常量,不能是变量 默认修饰符: public static final(默认添加)
B:构造方法 没有构造方法,接口主要是拓展功能的,没有具体存在
C:成员方法 只能是抽象方法 默认修饰符: public abstract
示例
输出:我是一个抽烟的人
示例2(接口与多态相配合,实现程序设计和程序运行相分离)
输出:开着飞机去邮信
(4)类与类 ,类与接口 ,接口与接口间的关系
A:类与类
继承关系,只能单继承,可以多层继承
B:类与接口
实现关系,可以单实现,也可以多实现。 还可以在继承一个类的同时,实现多个接口
C:接口与接口
继承关系,可以单继承,也可以多继承(不常用)
(5)抽象类和接口的区别
A:成员区别
抽象类:成员变量:可以变量,也可以常量
构造方法:有
成员方法:可以抽象,也可以非抽象
接口;成员变量:只可以常量
成员方法:只可以抽象
B:关系区别 :
类与类
继承,单继承
类与接口
实现,单实现,多实现
接口与接口
继承,单继承,多继承
C:设计理念不同
抽象类: is a,抽象类中定义的是共性功能,概念上是相同的(猫、狗和动物)。
接口: like a,接口中定义的是扩展功能,概念上可以没关系(飞 、鸟、飞机)。
案例
项目分析是从具体到抽象的过程;项目实现是从抽象到具体的过程
写接口
调用实现
输出:
调用实现2
调用实现3
输出: