• java-抽象类的特点


    1、抽象类和抽象方法必须用abstract关键字修饰。

     -  abstract class 类名()

     -  public abstract void eat();

    2、抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口。

     -  一个抽象类如果没有抽象方法,是可以定义为抽象类的。这么做的目的只有一个,就是不让其他类创建本类对象,交给子类完成。

    3、抽象类不能实例化。那么抽象类如何实例化呢?

     -  按照多态的方式,由具体的子类实例化。其实这也是多态的一种,抽象类多态。

    4、抽象类的子类

     -  要么是抽象类

     -  要么重写抽象类中的所有抽象方法

    5、abstract不能和哪些关键字共存?

     -  abstract和static

        *  被abstract修饰的方法没有方法体。

        *  被static修饰的方法可以用类名.调用,但是类名.调用抽象方法是没有意义的。

     -  abstract和final

        *  被abstract修饰的方法强制子类重写

        *  被final修饰的方法不让子类重写,所以他两是矛盾的

     -  abstract和private

        *  被abstract修饰是为了让子类看到并强制重写

        *  被private修饰不让子类访问,所以他两是矛盾的

  • 相关阅读:
    property补充
    利用描述符自定制property
    类的装饰器
    上下文协议管理
    描述符
    迭代器协议
    doc属性__module__属性__del__(垃圾回收)__call__方法
    【移动支付】.NET支付宝App支付接入
    【WPF】PopupColorEdit 的使用
    【MVVM Dev】PART_Editor的使用
  • 原文地址:https://www.cnblogs.com/hfumin/p/10141159.html
Copyright © 2020-2023  润新知