-
普通类:只有具体实现
-
抽象类:具体实现和规范(抽象方法)都有!
-
接口:只有规范!自己无法写方法!~专业的约束!约束和显示分离:面向接口编程~
-
接口就是规范,定义一组规则;
-
接口的本质是契约,就想我们的法律一样,制定后大家都遵守;
-
OO的精髓,是对对象的抽象,最能体现这一点的就是接口,为什么我们讨论设计模式都只针对了具备抽象能力的语言(比如c++、java、c#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。
-
声明类的关键字是class,声明接口的关键字是interface
//interface 定义接口的关键字
public interface UserService {
//默认为常量 public static final
int age = 50;
//接口中所有定义方法都默认有 public abstract
void add(String name);
void delete(String name);
void update(String name);
void query(String name);
}
interface TimeSercice{
void time();
}
public interface StudnetService {
}
//抽象类 extends
//类可以实现接口 implements 接口
//实现了接口的类,就需要重写接口中的方法~
//多继承~利用接口实现多继承
public class UserServiceImpl implements UserService , StudnetService{
@Override
public void add(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void update(String name) {
}
@Override
public void query(String name) {
}
}
/*
作用:
1.约束
2.定义一些方法,放不同的人实现
3.public abstract
4.public static final
5.接口不能被实例化~,接口中没有构造方法~
6.implements可以实现多个接口
7.必须重写接口中的方法~
*/