面向对象-接口与多态
接口的概述
Java语言的继承是单一继承,一个子类只能有一个父类(一个儿子只能有一个亲爹)
Java语言给我们提供了一种机制,用于处理继承单一的局限性,接口
接口:接口是一个比抽象类还抽象的的类,接口的方法全是抽象方法,接口和类的关系实现,implement
interface
格式:
interface 接口名{
}
接口的成员特点
特点:
只能有抽象方法
只能有常量
默认使用public&abstract
只能使用public&abstract
默认使用public static final来修饰成员变量
建议:建议大家手动加上默认修饰符
注意:接口不能创建对象(不能实列化)
类与接口的关系是实现关系,一个类实现一个接口必须实现它所有的方法
interface Animal{
public abstract void eat();
}
class Cat implements Animal{
}
接口和类之间的各种关系
类与类:继承关系,单一继承多层继承
类与接口:实现关系,多实现
接口与接口:继承关系,多继承extends
接口的思想
API接口
接口的优点
类与接口的关系,实现关系而且是多实现,一个类可以实现多个接口
类与类之间是继承关系,Java中的继承是单一继承,一个类只有一个父类
打破了继承的局限性
对外提供规则(usb接口)
降低了程序的耦合性(开可以实现模块化开发,定义好规则,每个人实现自己的模块,提高了开发的效率)
接口和抽象类的区别
共性:不断地抽取出抽象的概念
- 区别1
:与类的关系
类与接口是实现关系,而且是多实现,一个类可以是多接口
类与抽象类是继承关系,Java中的继承是单一继承,一个类只有一个父类,Java继承是多层继承
-
区别
-
2:成员
-
成员变量:
抽象类可以有成员变量,也可以有常量 接口只能有常量
-
成员方法
抽象类可以有抽象方法,可以有非抽象方法 接口只能有抽象方法,而且方法有默认修饰符 public abstract
-
构造方法
抽象类可以有构造方法(成员变量初始化) 接口没有构造方法(只能由常量)