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

    抽象类与接口的异同:

    1、在抽象类中可以为部分方法提供默认的实现;接口中只能包含抽象方法;抽象类也是一种类,定义的时候比如 public abstract class{}  来定义;接口是一种特殊的类,interface(接口)必须靠类来实现(implements);

    2、向抽象类中添加一个具体的方法,不会对它的子类造成影响;而对于接口一旦公布就不应被改变。抽象类的子类如果不是抽象类的话,必须实现抽象类的抽象方法,有一点必须记住,一个类里面如果有抽象的方法,那么这个类就一定是抽象类,  如果一个类是抽象的类的话,他里面的方法可以是抽象的,也可以实现,还可以全部都实现;
    3、一个类只能继承一个直接的父类,这个父类可能是抽象类;但一个类可以实现多个接口。
    4、接口的数据成员是公有常量(public static final),方法默认都是public abstract类型;抽象类的数据成员可以是任意的,抽象方法不能用private修饰,也不能加final。

    通俗的说法:

    接口是只定义了我们人类应该能做什么,但没有说明该怎样做。

    抽象类是,我只能说明我会的一部分,不会的请子孙来完成。。。

    接口和抽象类都是不能生成实例的;都拥有抽象方法;接口中全部是抽象方法,抽象类中可以有非抽象方法;接口中所有属性都是静态常量,抽象类中可以有任何类型属性;抽象类可以有构造器,接口中除了抽象方法什么都没有;一个接口可以继承多个接口,抽象类只能继承一个父类;抽象类可以实现接口的。

    ***接口引用完全可以看做是类引用--但是接口引用的强大之处在于,它可以引用任何实现该接口的类。

  • 相关阅读:
    hibernate关联关系映射
    java单例模式
    HTML如何给table添加滚动条
    jquery的几种ajax方式对比
    JQuery Selectors 方法说明
    jQuery遍历对象/数组/集合
    Jquery常用函数
    【刷题】【省选】ZJOI2017_仙人掌_LOJ2250/Luogu3687_圆方树/dp计数/树形dp
    【学习笔记】圆方树学习笔记
    【模板】【刷题】差分与前缀和_LuoguP5488_多项式
  • 原文地址:https://www.cnblogs.com/ratooner/p/1673804.html
Copyright © 2011-2022 走看看