声明接口的关键字为 interface,接口也是一个类
创建一个接口TimeService
public interface TimeService {
void timer();
}
接口的本质是契约,大家都遵守的规则
普通类:只有具体实现
抽象类:具体实现和抽象方法(规范)都有
接口:只有规范
可以看出,接口是比抽象类还要抽象的类,它只有规范
面向对象(OO)的精髓就是对对象的抽象,接口很好地体现了这一点
创建一个接口UserService
//接口都需要有实现类
public interface UserService {
//属性默认为常量,有public static final
//一般不会在接口中定义常量
/*public static final*/int AGE = 100;
//接口中的所有定义的方法都是抽象的,默认有public abstract
/*public abstract*/void add(String name);
/*public abstract*/void delete(String name);
/*public abstract*/void update(String name);
/*public abstract*/void query(String name);
}
创建一个实现类UserServiceImpl,实现类通常以Impl结尾,通过关键字implements实现接口(implements可以实现多个接口)
//抽象类:extends 单继承
//类可以实现接口, implements 多重继承
//实现了接口的类,就需要重写接口中的方法
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) {
}
}
实现了接口的类,就必须重写接口中的方法
接口不能被实例化,接口中没有构造方法