接口
1. 对比理解
-
类:只能实现具体
-
抽象类:可以实现具体+规范(抽象方法)
-
接口:只有规范! 自己无法写方法!纯做约束
约束和实现的分离:面向接口编程。
2. 特点
-
声明接口关键字:interface
-
接口就是规范,定义的是一组规则。接口的本质是契约。(能够体现抽象思维的就是抽象类+接口)
-
接口中的方法都只有方法名,没有实现
-
接口实现多继承,一个类可以实现多个接口,利用关键字 implements实现
-
实现接口必须要重写接口里的方法
-
接口中可以定义常量 (一般不这样用)
int AGE = 5 ; 默认是 public static final
-
接口不能被实例化,接口中没有构造方法
3.实例
- 接口 UserService
public interface UserService {
//接口中定义的所有方法都是public abstract
void add(String name);
void delete(String name);
void update(String name);
void query(String name);
}
- 接口 TimeService
public interface TimeService {
void timer();
}
- 实现类 UserServiceImpl
-
同时实现1 2 两个接口,接口中间用 “ ,” 隔开。
-
在类中,将两个接口的方法全部重写。在idea中,快捷键 ctrl + o,出现可以实现的方法。(重写和实现方法相同)如图:
public class UserServiceImpl implements UserService,TimeService{
@Override
public void timer() {
}
@Override
public void add(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void update(String name) {
}
@Override
public void query(String name) {
}
}