JAVA笔记(十二)--接口

217 阅读2分钟

JAVA笔记(十二)--接口

1.接口:

a.why: 有些场合需要一个类同时去继承多个类中的属性和方法,但是java中类只支持单继承?

b.what: 一个特殊的类;接口表示一种能力;接口是一种约定;

c.语法:

public interface 接口名{

	抽象方法;

}

d.注意事项:

​ 1).接口中的方法全部是抽象方法,方法全部被abastract修饰,接口也被abstract修饰,该关键字在接口时可以省略。

​ 2).接口不能被实例化;

​ 3).实现类必须将接口的所有方法全部实现;

​ 4).实现类可以实现多个接口,并且java中接口是可以多继承,一个接口可以同时被多个类实现;

​ 5).接口中的变量会默认别static/final修饰;

e.how:

​ 1).实现类实现语法:

class 实现类 implements 接口{
	抽象方法的实现方法
}

​ 2).使用:

​ 方式一:

​ 实现类 类名=new 实现类对象;

​ 方式二:

​ 接口名 类名=new 实现类对象;

​ 3).eg:

​ 防盗门;

​ 手机案例;

​ 打印机案例;

2.抽象类和接口比较:

a.相同点:

​ 代表系统的抽象层

​ 都不能被实例化

​ 都能包含抽象方法

​ 用于描述系统提供的服务,不必提供具体实现

b.区别:

​ 在抽象类中可以为部分方法提供默认实现,而接口中只能包含抽象方法

​ 抽象类便于复用,接口便于代码维护

​ 一个类只能继承一个直接的父类,但可以实现多个接口

c.使用原则:

​ 接口做系统与外界交互的窗口

​ 接口提供服务

​ 接口本身一旦制定,就不允许随意修改

​ 抽象类可完成部分功能实现,还有部分功能可作为系统的扩展点