抽象类
例如:
public abstract class Action{
}
- 抽象类不能new 只能够靠子类去实现它
- 抽象类中可以写普通方法
- 抽象方法必须在抽象类中
- 继承了抽象类的子类,都必须要实现他的方法,除非它的子类也是抽象类
- 抽象类不能new对象但是也是存在构造器的
抽象类的作用
举个例子:
有两类鸭子,第一类是家养的鸭子,不会飞行,会嘎嘎的叫,第二类是野鸭子,会飞行,也会嘎嘎的叫;
我们可以定义一个抽象类,里面有两个抽象方法
public abstract void quack(){} //嘎嘎地叫
public abstract void fly(){} // 飞行
下面我们定义两个鸭子类,一个家养的鸭子类,一个野鸭子类。
家养的鸭子只需要实现抽象类里面的quack()方法,应为它只会叫,不会飞。
野鸭子则可以实现抽象类里面的quack()、fly()方法,应为他又会叫,又会飞。
定义抽象类的好处就是可以选择继承抽象类里面的方法。
抽象方法
abstract,, 抽象方法,只有方法名字,没有方法的实现,是一个约束,,(规定了是一个方法,但是没有说具体怎么实现),只能由抽象方法所属的抽象类的子类去具体实现。
例如:
public abstract void dosomething();