接口和抽象类之间的关系

一、抽象类:含有抽象方法的类叫做抽象类(抽象类中不一定只含有抽象方法,可以有普通方法和成员变量),抽象类必须在类前用abstract关键字修饰。因为抽象类中的方法没有具体实现,所以抽象类不能创建对象。

抽象方法:只有声明没有具体实现。如:

由以上的定义可以看出来抽象类就是用来被继承的,对一个父类,如果它的某个方法在父类中的实现没有任何实际意义,必须根据不同的子类来决定不同的实现,那么就可将这个类定义为abstract 将方法定义为abstract方法。                                   

       1、抽象类和普通类的区别:(1)抽象方法的修饰必须为public 或protected。 (2)抽象类不能创建对象。(3)一个类继承了抽象类,则子类必须实现父类的抽象方法,如果没有实现抽象方法则子类也必须定义为抽象类。                                                                                                                 

   二、接口

 接口泛指供别人调用的方法或者函数,是对行为(方法的)抽象。                                                                                                                      接口中可以含有变量和方法,(注:接口中的变量会被隐式转为public static final,方法会被隐式转换为public abstarct 方法,即:接口中的方法都是抽象方法)所以有人说接口是比抽象类更加抽象的“类”。                                                                                                                                          

三、接口和抽象类的区别

(1)类可以实现多个接口。只能继承一个类(单继承、多实现)(2)抽象类可以提供成员方法实现的细节,接口中只能存在public abstract 方法(3)抽象中的成员变量可以是各种类型,接口中只可以是 public static final 类型(4)接口中不可以含有静态代码块以及静态方法,而 抽象类中可以含有静态方法和静态代码块(4)抽象类之间支持多继承。                                                                                              

注:抽象类是一种模板式设计,接口是一种行为规范。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,804评论 18 399
  • 原文链接: 深入理解Java的接口和抽象类 - 海 子 - 博客园 对于面向对象编程来说,抽象是它的一大特征之一。...
    kristine阅读 692评论 0 8
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,147评论 0 62
  • 娇日半撩绯云纱, 颀山慕定痴痴看。 水带冰心耀银河, 风翱九天嗅草香。
    今聿阅读 328评论 0 0
  • 一本女性视角的笑话,幽默的黄笑话。 摘录几个比较喜欢的语录。 没有很纯粹的快乐,但是真的有很纯粹的痛苦。 和坏人在...
    civilian阅读 299评论 0 0