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.使用原则:
接口做系统与外界交互的窗口
接口提供服务
接口本身一旦制定,就不允许随意修改
抽象类可完成部分功能实现,还有部分功能可作为系统的扩展点