`
380071587
  • 浏览: 448885 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

抽象类和接口的关系对比

 
阅读更多

抽象类
抽象类主要用来定义一些抽象的属性和方法,留待子类根据自己的情况实现这些属性和方法
抽象类不能生成实例,即不能new一个抽象类的实例
抽象类可以被继承,除非继承该抽象类的子类仍声明为抽象的,否则就必须实现这个抽象类的所有抽象属性和方法
一个类只能继承一个抽象类,如果需要实现多个类的抽象方法,必须使用接口
子类与抽象类是is关系
接口
接口主要用来定义一些抽象的属性和方法,留待实现类根据自己的情况实现这些属性和方法
接口不能生成实力,即不能new一个接口的实例
抽象类可以被实现,除非实现该接口的类声明为抽象的,否则就必须实现这个接口的所有抽象属性和方法
一个类可以实现多个接口
实现类与接口是has关系

说明:这里面有些地方可能需要改动,具体请参见本人的另一篇文章《接口(interface)原来是可以被继承(extends)的》

分享到:
评论

相关推荐

    java三大特性说明

     抽象类与接口之间的对比:接口与抽象类本质上是两个概念,但可以将接口看作是一个抽象层级比抽象类更高的特殊类。由于接口的信息中只有已知不可变值以及抽象方法,所以信息的绑定方式单一,从实现上可以满足继承但...

    Java相关知识点的学习(第八篇)

    七、接口 1.生活中的接口 2.Java中的接口 3.接口的特点:3.1接口使用interface关键字 3.2接口由常量和抽象方法组成 3.3接口不能实例化,得通过实现类来实现 3.4接口可以多实现 3.5接口是... 4. 接口和抽象类的对比

    对Java的思考(Thinking in Java) Java入门 java与C++对比 深入浅出

    1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 ...

    疯狂JAVA讲义

    6.6.5 接口和抽象类 197 6.6.6 面向接口编程 198 6.7 内部类 202 6.7.1 非静态内部类 202 学生提问:非静态内部类对象和外部类对象的关系是怎样的? 206 6.7.2 静态内部类 207 学生提问:为什么静态内部类实例...

    Visual C#2010 从入门到精通(Visual.C#.2010.Step.By.Step).完整去密码锁定版 I部分

    第13章 创建接口和定义抽象类 227 13.1 理解接口 227 13.1.1 定义接口 228 13.1.2 实现接口 228 13.1.3 通过接口来引用一个类 230 13.1.4 使用多个接口 230 13.1.5 显式实现接口 230 13.1.6 接口的限制 232 ...

    java经典面试2010集锦100题(不看你后悔)

    A) 抽象类使类与类之间依旧具有父子联系,而接口一般只是定义了一种规范,并不使实现的接口之间具有父子关系。 B) 可以为抽象类定义对象,但是不能为接口定义对象。 C) 抽象类与接口的用法几乎都相同,具体用哪一个...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    通过大量的比喻、类比、对比和图示等多种讲解方式,学习效果好 对Java语言的每个语法都提供了一个或多个例程讲解 大量使用流程图表示程序的执行过程,使用结构图表示程序的内部状态 每章最后都给出了典型的练习题,...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    通过大量的比喻、类比、对比和图示等多种讲解方式,学习效果好 对Java语言的每个语法都提供了一个或多个例程讲解 大量使用流程图表示程序的执行过程,使用结构图表示程序的内部状态 每章最后都给出了典型的练习题,...

    传智播客扫地僧视频讲义源码

    14_信息系统框架集成第三方产品案例_socket抽象类和框架搭建__传智扫地僧 15_信息系统框架集成第三方产品案例_框架实现第一个socket类厂商实现 16_信息系统框架集成第三方产品案例_第二个socket类厂商实现 17_信息...

    javaSE代码实例

    9.4 接口与抽象类 166 9.4.1 语法上的不同 167 9.4.2 具体含义的不同 167 9.5 基于接口的多态 169 9.6 接口与回调 170 9.7 instanceof的使用 172 9.7.1 基本语法与使用 172 9.7.2 不允许进行测试的...

    Thinking in Java(中文版 由yyc,spirit整理).chm

    7.4 抽象类和方法 7.5 接口 7.5.1 Java的“多重继承” 7.5.2 通过继承扩展接口 7.5.3 常数分组 7.5.4 初始化接口中的字段 7.6 内部类 7.6.1 内部类和上溯造型 7.6.2 方法和作用域中的内部类 7.6.3 链接到外部类 ...

    JAVA_Thinking in Java(中文版 由yyc,spirit整理).chm

    7.4 抽象类和方法 7.5 接口 7.5.1 Java的“多重继承” 7.5.2 通过继承扩展接口 7.5.3 常数分组 7.5.4 初始化接口中的字段 7.6 内部类 7.6.1 内部类和上溯造型 7.6.2 方法和作用域中的内部类 7.6.3 链接到外部类 ...

    面向对象与UML资料

    类、抽象类和对象 26 事件类、事件和消息 27 面向对象的建模 27 证伪和原型化 28 第二节 UML的主要图形符号 28 用例图 28 类图 35 顺序图 40 状态图 42 活动图 44 图表组织 45 图表扩展 47 第五章 需求提出 47 第一...

    Thinking in Java 中文第四版+习题答案

    7.4 抽象类和方法 7.5 接口 7.5.1 Java的“多重继承” 7.5.2 通过继承扩展接口 7.5.3 常数分组 7.5.4 初始化接口中的字段 7.6 内部类 7.6.1 内部类和上溯造型 7.6.2 方法和作用域中的内部类 7.6.3 链接到外部类 ...

    轻松学C#(图解版)

    7.5.1 抽象类、抽象方法的声明 129 7.5.2 抽象类的使用 129 7.5.3 抽象方法的使用 130 7.6 密封 132 7.6.1 密封类 132 7.6.2 密封方法 133 7.7 小结 134 7.8 习题 135 第8章 属性 139 8.1 属性初识 139 8.1.1 属性...

    Think in Java(中文版)chm格式

    7.4 抽象类和方法 7.5 接口 7.5.1 Java的“多重继承” 7.5.2 通过继承扩展接口 7.5.3 常数分组 7.5.4 初始化接口中的字段 7.6 内部类 7.6.1 内部类和上溯造型 7.6.2 方法和作用域中的内部类 7.6.3 链接到...

    JAVA_Thinking in Java

    7.4 抽象类和方法 7.5 接口 7.5.1 Java的“多重继承” 7.5.2 通过继承扩展接口 7.5.3 常数分组 7.5.4 初始化接口中的字段 7.6 内部类 7.6.1 内部类和上溯造型 7.6.2 方法和作用域中的内部类 7.6.3 链接到外部类 ...

    Java初学者入门教学

    7.4 抽象类和方法 7.5 接口 7.5.1 Java的“多重继承” 7.5.2 通过继承扩展接口 7.5.3 常数分组 7.5.4 初始化接口中的字段 7.6 内部类 7.6.1 内部类和上溯造型 7.6.2 方法和作用域中的内部类 7.6.3 链接到外部类 ...

    ThinkInJava

    7.4 抽象类和方法 7.5 接口 7.5.1 Java的“多重继承” 7.5.2 通过继承扩展接口 7.5.3 常数分组 7.5.4 初始化接口中的字段 7.6 内部类 7.6.1 内部类和上溯造型 7.6.2 方法和作用域中的内部类 7.6.3 链接到外部类 ...

Global site tag (gtag.js) - Google Analytics