美文网首页
接口和抽象类

接口和抽象类

作者: kindol | 来源:发表于2018-07-30 23:14 被阅读0次

共同点:

  1. 都是上层的抽象层
  2. 都不能被实例化

不同:

  1. 抽象类可以实现方法,接口不行(除了default关键字的方法)

  2. 一个类只能继承一个父类,接口可以实现多个
    java语言中类的继承是单继承的原因:解决C++多继承带来的问题,使得程序更加安全

    而接口却可以多继承,因为接口中只有抽象方法,没有静态方法和非常量的属性,只有接口的实现类才会重写接口中方法。因此一个类有多个接口也不会增加JVM的绑定机制和复杂度。

    对于已经存在的继承树,可以方便的从类中抽象出新的接口,但是从类中抽象出新的抽象类就不那么容易了,因此接口更有利于软件系统的维护和重构。

  3. 接口和抽象类的设计目的不一样。接口是对动作的抽象,而抽象类是对根源的抽象。举个例子:人可以走和跳,如果是抽象类,那就包含两个方法,而接口可以将这两个方法独立开来,更加有利于解耦合。从这个意义算起来,接口的抽象程度高于抽象类

  4. Java接口中声明的变量默认都是final的。抽象类可以包含非final的变量。

  5. Java接口中的成员函数默认是public的。抽象类的成员函数可以是private,protected或者是public。

相关文章

  • 5.5-全栈Java笔记:接口的定义和使用

    接口interface 接口的作用 为什么需要接口?接口和抽象类的区别? 接口就是比“抽象类”还“抽象”的“抽象类...

  • java的final关键字

    ——修饰类、接口和抽象类 final可以修饰方法,属性,类!但是不能修饰接口,抽象类;因为 接口和抽象类本身就是...

  • 接口和抽象类的区别

    接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么? 接口和抽象类的概念不一样。接口是对动作的抽象,抽象类...

  • 抽象类和接口的区别

    以下两篇文章介绍了接口和抽象类的概念接口概念抽象类概念 抽象类和接口的区别: 抽象类:需要使用abstract关键...

  • 接口和抽象类

    接口和抽象类的区别? 接口(interface)和抽象类(abstract class)是支持抽象类定义的两种机制...

  • Android_开发_Day12_抽象类和接口

    Android_开发Day12抽象类和接口 目的: 知道什么是抽象类,什么是接口,学会抽象类的使用,与接口的使用。...

  • Java--接口和抽象类

    ·为什么需要接口?接口和抽象类的区别?  接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束...

  • Kotlin 零基础学习 接口和抽象类

    接口:接口就是暴露一种物体与另外一种物体沟通的方法 抽象类 接口 这么看接口和抽象类没什么区别,抽象类能干的接口也...

  • 接口,抽象类,工厂设计模式,代理模式

    一、接口的结构: 抽象方法 全局常量 最终写法: 其他内部结构内部类内部抽象类内部接口 二、接口和抽象类 抽象类可...

  • 接口跟抽象类的对比

    抽象类和接口的区别抽象类被子类继承 接口被类实现接口可以做方法生命 抽象类可以做方法生命 也可以做方法实现接口中定...

网友评论

      本文标题:接口和抽象类

      本文链接:https://www.haomeiwen.com/subject/cowqvftx.html