`
hudeyong926
  • 浏览: 2017040 次
  • 来自: 武汉
社区版块
存档分类
最新评论

abstract class和interface有什么区别

 
阅读更多

抽象类和接口的异同
1. 相同点:
(1)两者都是抽象类,都不能实例化。
(2) interface 实现类及 abstract class 的子类都必须要实现已经声明的抽象方法。

2.不同点:
(1)interface 需要实现要用 implements,而 abstract class 需要继承,要用 extends 。
(2)一个类可以实现多个 interface ,但一个类只能继承一个 abstract class 。
(3)interface 强调特定功能的实现,而 abstract class 强调所属关系。
(4)interface 中的每一个方法都是抽象方法,都只是声明的 (declaration, 没有方法体 ) ,实现类必须要实现。而 abstract class 中并非所有的方法都是抽象的,只有那些冠有 abstract 的方法才是抽象的,子类必须实现。
(5) abstract class 是 interface 与 class 的中介。 abstract class 在 interface 及 class 中起到了承上启下的作用。一方面, abstract class 是抽象的,可以声明抽象方法,以规范子类必须实现的功能;另一方面,它又可以定义缺省的方法体,供子类直接使用或覆盖。另外,它还可以定义自己的实例变量,以供子类通过继承来使用。
(6)接口中的抽象方法前不用也不能加 abstract 关键字,默认隐式就是抽象方法,也不能加 final 关键字来防止抽象方法的继承。而抽象类中抽象方法前则必须加上 abstract 表示显示声明为抽象方法。
(7)接口中的抽象方法只能是 public 的,不能用 private , protected 修饰符修饰。而抽象类中的抽象方法则可以用 public , protected 来修饰,但不能用 private 。

分享到:
评论

相关推荐

    abstract class和interface有什么区别?

    Static Nested Class 和 Inner Class的不同。 Static Nested Class是被声明为静态(static) 的内部类,它可以不依赖于外部类实例被实例化。而通 常的内部类需要在外部类实例化后才能实例化。 25、JSP中动态...

    java abstract class interface之间的区别介绍

    java abstract class interface之间的区别介绍 java abstract class interface之间的区别介绍

    深入理解abstract class和interface

    abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性...

    java中abstractclass和Interface.doc

    java中abstractclass和Interface.doc

    [转]深入理解abstract class和interface

    NULL 博文链接:https://fanlei77.iteye.com/blog/1453579

    interface&abstract class

    看到的一个讲interface&abstract class 的感觉不错。

    Java abstract class 与 interface对比

    主要介绍了 Java abstract class 与 interface对比的相关资料,需要的朋友可以参考下

    Java中抽象类和接口的区别与作用详解

    结论:abstract class和Interface是JAVA语言中的两种定义抽象类的方式。Interface将abstract的概念作了更进一步的发挥。你可以想像Interface是“纯粹”的 abstract class,只可以包含抽象方法,也包括一些常量的定义...

    Struct 、Class、Interface、Abstract区别与关系

    Struct 、Class、Interface、Abstract各个的特性、应用场景等对比

    Java程序开发中abstract 和 interface的区别详解

    abstract class和interface在Java语言中都是用来进行抽象类。但是两者有什么区别呢,接下来小编给大家带来了abstract 和 interface的区别详解,感兴趣的朋友一起学习吧

    Java中抽象类和接口的区别

    在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...

    JAVA面试资料大全-整理.zip

    8、 abstract class 和 interface 有什么区别 9、 String、StringBuffer、StringBuilder 的区别 10、 同步和异步有何异同,在什么情况下分别使用他们?举例说明。 .............................................. ....

    详细解析Java中抽象类和接口的区别

    抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...

    Java就业面试题大全

    Java就业面试题大全 面向对象的特征有哪些 Overload 和Override的区别 abstract class和interface有什么区别? error和exception有什么区别?

    Java中抽象类和接口的区别.zip_java interf

    在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...

    Java面试宝典

    24、abstract class和interface有什么区别? 17 25、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 18 26、什么是内部类?Static Nested Class 和 Inner Class的不同。 19 27、...

    javaweb基础详细介绍

    JAVA相关基础知识,面向对象的特征有哪些方面,abstract class和interface有什么区别?,java面试常见问题都有

    JAVA中抽象类与接口的区别

    在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性...

    Java面试宝典2011版

    24、abstract class和interface有什么区别? 17 25、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 18 26、什么是内部类?Static Nested Class 和 Inner Class的不同。 19 27、...

Global site tag (gtag.js) - Google Analytics