接口
普通类:只有具体实现
抽象类:具体实现和规范(抽象方法)都有
接口:只有规范,自己无法写方法-专业的约束。约束和实现分离:面向接口编程
接口就是规范,定义的是一组规则
接口的本质是契约,就像法律一样,大家都要遵守
OO的精髓,是对对象的抽象,最能体现这一点的就是接口
声明类的关键字是class,声明接口的关键字是interface
package oop.demo11;
//interface是定义的关键字,接口都需要有实现类
public interface UserService {
//接口中的所有定义其实都是抽象的public public 不写也可以
public abstract void run();
void add(String name);
void delete(String name);
void update(String name);
void query(String name);
//接口里面定义的属性都是常量
int age1 = 99;
public static final int age = 99; //等于 int age1 = 99
}
package oop.demo11;
public interface TimeService {
void timer();
}
//类通过implements关键字实现接口
//实现了接口的类,都需要重写接口中的方法
//多继承,利用接口实现多继承
public class UserServiceImpi implements UserService,TimeService{//多继承,继承了UserService和TimeService两个接口
@Override
public void run() {
}
@Override
public void add(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void update(String name) {
}
@Override
public void query(String name) {
}
@Override
public void timer() {
}
}
作用:
- 约束(规范)
- 定义一些方法,让不同的人实现
- public abstract
- public static final
- 接口不能被实例化,接口中没有构造方法
- implements可以实现多个接口
- 必须要重写接口中的方法