抽象类
什么情况下使用抽象方法?
通过抽象类,可以避免设计子类设计的随意性。通过抽象类,我们可以做到严格限制子类的设计,使子类之间更加通用。(程序的可扩展和可维护性)
父类的名称比较抽象,创建对象无意义。例:Animal,创建动物类无意义,所以可以定义为抽象类。因为每个动物都有不同的叫声,所以可以定义abstract move();
抽象类和抽象方法的基本用法
//抽象类 abstract class Animal { abstract public void move(); //抽象方法 } class Dog extends Animal { //子类必须实现父类的抽象方法,否则编译错误 public void move() { System.out.println("四肢跑!"); } public void seeDoor(){ System.out.println("看门中...."); } } class Shark extends Animal { //子类必须实现父类的抽象方法,否则编译错误 public void move() { System.out.println("尾巴游!"); } } //测试抽象类 public class TestAbstractClass { public static void main(String[] args) { Dog a = new Dog(); a.move(); a.seeDoor(); Shark b=new Shark(); b.move(); } }
动物类,现实中就是抽象的,动物移动,具体使用怎样移动没有办法确定,只能子类确定,但只要是动物肯定有移动这个功能。