zoukankan      html  css  js  c++  java
  • 接口和抽象类的区别

    抽象类:
    1.抽象类必须是包含abstract关键字
    2.抽象类可以用抽象方法或者没有。抽象方法必须是abstract关键字,表示只有声明没有实现。
    3.抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。
    4.抽象类不能用来创建对象;
    5.如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。
     
    接口:
    1.接口必须是用interface申明
    2.接口的变量必须是public static final 如果不写会隐式的制定。
    3.接口的方法必须制定为 public abstract
     
    区别:
    1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;
      2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
      3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
      4)一个类只能继承一个抽象类,而一个类却可以实现多个接口。

  • 相关阅读:
    [luogu p4447] [AHOI2018初中组]分组
    咕咕咕通知
    [luogu p3817] 小A的糖果
    [luogu p1228] 地毯填补问题
    [luogu p1259] 黑白棋子的移动
    [luogu p3612] [USACO17JAN]Secret Cow Code S
    [luogu p1990] 覆盖墙壁
    [luogu p1928] 外星密码
    [luogu p2036] Perket
    [luogu p2392] kkksc03考前临时抱佛脚
  • 原文地址:https://www.cnblogs.com/Seeasunnyday/p/9101422.html
Copyright © 2011-2022 走看看