抽象类

Posted huochemeiyouhuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象类相关的知识,希望对你有一定的参考价值。





使用abstract修饰的类


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

技术图片

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


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


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


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

    Animal animal;
    animal = new Dog();


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


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

    animal = new Animal() {};


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

    public abstract void func();


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

    技术图片


    new Pet() {
        @Override
        public void actCute() {
            System.out.println("摇尾巴~~")
        }
    }


  • 子类必须重写抽象类中所有的抽象方法,如果子类没有重写所有的抽象方法,子类也需要定义为抽象类。


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


  • abstract与final不可以共存




以上是关于抽象类的主要内容,如果未能解决你的问题,请参考以下文章

查看发票组代码后的总结和有感

使用 Git 来管理 Xcode 中的代码片段

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

设计模式 行为型模式 -- 观察者模式(发布-订阅(Publish/Subscribe)模式)

记一次抽象类中定义的静态变量,多个子类继承后,在方法中被重写引起的问题

Java 封装