【从零开始学Java笔记】接口
大家可以关注作者的账号,关注从零开始学Java笔记文集。也可以根据目录前往作者的博客园博客进行学习。本片文件将基于黑马程序员就业班视频进行学习以及资料的分享,并记录笔记和自己的看法。欢迎大家一起学习和讨论。
【从零开始学Java笔记】目录
就在之前的章节我们提到Java语言的继承是单一继承,一个子类只能有一个父类(一个儿子只能有一个亲爹)
Java语言给我们提供了一种机制,用于处理继承单一的局限性的, 接口。一个类可以实现多个接口(一个儿子可以有很多干爹)
什么是接口
接口是一个比抽象类还抽象的类,接口里所有的方法全是抽象方法,接口和类的关系是实现。
关键字:implements、interface
格式:
interface接口名{
}
实例:
public class InterfaceDemo {
}
interface InterA {
public abstract void a();
}
interface InterB {
public abstract void b();
}
interface InterC extends InterA, InterB {
public abstract void c();
}
class A implements InterC {
@Override
public void a() {
// TODO Auto-generated method stub
}
@Override
public void b() {
// TODO Auto-generated method stub
}
@Override
public void c() {
// TODO Auto-generated method stub
}
}
接口的成员特点
只能有抽象方法
只能有常量
默认使用public&abstract
修饰方法
只能使用public&abstract
修饰方法
默认使用public static final
来修饰成员变量
建议:建议大家手动的给上默认修饰符
注意:
接口不能创建对象(不能实例化)
类与接口的关系是实现关系,一个类实现一个接口必须实现它所有的方法
类与类:继承关系,单一继承,多层继承
类与接口:实现关系,多实现。
接口与接口的关系:维承关系多继承
接口的优点
1.类与接口的关系,实现关系,而且是多实现,一个类可以实现多个接口,类与类之间是继承关系,java中的继承是单一继承,一个类只能有一个父类,打破了继承的局限性。
2.对外提供规则(USB接口)
3.降低了程序的耦合性(可以实现模块化开发,定义好规则,每个人实现自己的模块,提高了开发的效率)
接口和抽象类的区别
共性:不断的抽取,抽取出抽象的概念
区别1:与类的关系
- 类与接口是实现关系,而且是多实现,一个类可以是先多个接口
- 类与抽象类是继承关系,Java中的继承是单一继承,一个类只能有一个父类,Java中的继承是多层继承
区别2:成员
- 成员变量:
抽象类可以有成员变量,也可以有常量
接口只能有常量 - 成员方法:
抽象类可以有抽象方法,可以有非抽象方法
接口只能有抽象方法,而且方法有默认修饰符public abstract - 构造方法:
抽象类有构造方法的
接口没有构造方法