Java抽象类
通过abstract修饰的类
抽象类的所有方法,必须由继承它的子类来实现,除非子类也是abstract(则子类的子类来实现)(子承父业,但全是借条,需要子类来还债)
子类只需要实现抽象类的父类的抽象方法即可
public abstract class Action {//抽象类
//假设方法只是个约束,里面没有内容,最好由别人代替实现(大型框架中写约束)
//public void doSomething(){ }
public abstract void thing();//抽象方法:只有方法名字,没有方法实现,子类代替实现
}
public class A extends Action{
//继承了抽象类父类的子类,需要实现父类抽象类中的抽象方法
@Override
public void thing() {
//通过重写父类中的抽象方法来实现抽象方法
}
}
extends是单继承:没办法继承多个类,有局限性;
接口可以帮助实现多继承。(插座)
抽象类特点:
- 不能new抽象类,只能靠子类来实现,(仅是一个约束,类比与法律)
- 一旦由抽象方法,那类一定需要是抽象类,但抽象类中也可以有普通方法
- 可扩展性高