面向对象07(接口)
- 普通类:只有具体实现
- 抽象类:具体实现和规范(抽象方法)都有
- 接口:只有规范,自己无法写方法
- 接口就是规范,定义的是一组规则,体现了现实世界中"如果你是…则必须能…"的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。
- 接口的本质是契约,就像我们人类的法律一般,制定好后大家都遵守。
- OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言,就是因为设计模式所研究的,实际上就是如何合理的去抽象
声明类的关键字是class,声明接口的关键字是interface
接口中所有定义都是抽象的 public abstract
常量 public static final
接口定义:将class变为interface,里面无法添加方法,只能加入方法名
public interface UserService {
void add();
//public abstract void add 不写默认补充
void delete();
void update();
}
接口创建完之后需要实现类
package com.baidu.www.Demon08;
public class UserServiceImpl implements UserService{
@Override
public void add() {
}
@Override
public void delete() {
}
@Override
public void update() {
}
}
抽象类:extends
接口:implements
实现了接口的类,就需要重写接口的方法
再创建一个接口
public interface TimeService {
void timer();
}
实现接口多继承
public class UserServiceImpl implements UserService,TimeService{
@Override
public void add() {
}
@Override
public void delete() {
}
@Override
public void update() {
}
@Override
public void timer() {
}
}
可以看出UserServiceImpl只需要重写便可以继承两个接口。(多个也可以)
当然,接口也可以定义常量,但一般不用。
希望以后再次复习到这个博客的我,能够不负当年的努力。