抽象类





使用abstract修饰的类


对一组对象进行更高层级抽象时, 形成现抽象的类, 就可以定义为抽象类

  • 抽象类也是一种引用数据类型


  • 当一个类的某个操作无法具体实现时,这个操作可以定义为抽象方法


  • 抽象类一般作为其他类的父类存在


  • 抽象类不能实例化对象,抽象类的引用需要赋值子类对象

    Animal animal;
    animal = new Dog();
    

  • 含有抽象方法的类必须定义为抽象类


  • 抽象类可以赋值匿名内部类对象

    animal = new Animal() {};
    

  • 使用abstract声明的方法只有声明部分没有方法体

    public abstract void func();
    

  • 匿名内部类中可以重写抽象类的抽象方法


    ```java new Pet() { @Override public void actCute() { System.out.println("摇尾巴~~") } } ```
  • 子类必须重写抽象类中所有的抽象方法,如果子类没有重写所有的抽象方法,子类也需要定义为抽象类。


  • 抽象类的引用可以赋值匿名内部类对象


  • abstract与final不可以共存




posted @ 2020-01-21 22:43  火车没有火  阅读(115)  评论(0编辑  收藏  举报