【从零开始学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
  • 构造方法:
    抽象类有构造方法的
    接口没有构造方法