• java 的抽象(abstract)和接口(interface)的区别


    abstract抽象:

    抽象类:可以包含抽象方法的类

    目的:当某个功能想让不同的子类有不同的实现方法的时候就使用抽象类。

    特点:

    • 不能是final修饰,因为抽象类需要被继承
    • 子类继承必须重写抽象类中的所有抽象方法。如果子类不想重写或者只想重写部分,那么子类必须是抽象方法。
    • 抽象类不能直接naw对象。如果需要new,需要在new对象的时候使用匿名类来重写抽象类中的抽象方法。
    • 构造器不能为私有。子类实例化的时候会先调用父类的构造方法来实例化父类。

    抽象方法:在抽象类或者接口中没有方法体的方法

    特点:

    •  不能有static、final、private修饰。因为抽象方法必须被子类重写,而static方法、final方法、private方法都不会被子类继承。

    字段:和普通方法一样

    interface接口

    含义 :特殊的抽象类。是一种规范、标准、约束。

    特点:

    • 多继承。一个接口可以继承多个接口;一个类也可以实现多个接口。
    • 没有构造器。不能直接new对象,需要用匿名内部类。
    • 抽象字段默认为publlic static final;抽象方法默认为public abstract。
    • 接口中不能有普通方法。可以有default和static方法。
    • 可以有static方法。可以static方法中写具体实现。注意,使用了static,默认的public abstract修饰相当于没有。因为static和abstract是不可能共存的。

             abstract VS interface

    参数abstractinterface
    构造器
    范围修饰符除了private都可以

    只能为public

    继承单继承,和普通方法一样多继承,可以继承多个接口;一个类也可以实现多个接口。
    内置方法什么方法都可以有。只能有默认修饰public abstact方法和static方法。

    记住:abstract关键字和static、final、private不可能在方法中一起出现。

  • 相关阅读:
    ​Base64编码知识详解 ​
    青少年python系列 36.函数的参数
    交易类的python例子
    Android 设计模式-外观模式
    【EKF】EKF原理
    4.3 x64dbg 搜索内存可利用指令
    【计算机网络】集线器
    什么是数据仓库?
    软考 系统架构设计师系列知识点之特定领域软件体系结构DSSA(3)
    一步步制作下棋机器人之 coppeliasim进行Scara机械臂仿真与python控制
  • 原文地址:https://blog.csdn.net/m0_52261367/article/details/126067873