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

    抽象类与接口的异同:

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

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

    通俗的说法:

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

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

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

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

  • 相关阅读:
    ecshop 调用指定分类的推荐,热卖,新品
    ecshop 首页调用指定类产品
    html常用笔记
    ecshop 修改flash图片大小
    ecshop 删除随机版权
    Java Web(一) Servlet详解!!
    Git使用总结
    git clone命令使用
    Lucene学习总结之四:Lucene索引过程分析
    Lucene学习总结之二:Lucene的总体架构
  • 原文地址:https://www.cnblogs.com/ratooner/p/1673804.html
Copyright © 2011-2022 走看看