抽象类:有时候,可能你只知道有一个对象,一定会有某些操作,但是具体的操作你是不清楚的时候,就使用抽象类,让子类去继承,并具体的实现方法。
abstract class AbstractStudent{
abstract void study(); //每个学生都需要学习,但是你不知道每个学生怎么学习,就用抽象方法,让子类去具体实现
void sleep(){
System.out.println("tang zhe sleep"); //每个人都躺着睡
}
}
接口:当有些方法是子类独有的话,就使用接口给需要的对象去实现。
- 比如某些学生吸烟,喝酒,你就不能写到base类中去,不然就强制了每个学生都去吸烟喝酒,
所以把这些一部分共有的功能就抽成接口的形式,让需要的子类去继承。
class Student extends AbstractStudent{
普通学生,就只会睡觉 学习
}
class SmokeStudent extends AbstractStudent implements Smoking{
抽烟学生除了基本功能 睡觉 学习之外, 可能还会吸烟。
}
网友评论