- 浏览: 194283 次
文章分类
最新评论
1.abstract class 表示的是一种继承关系,并且只能是单继承。但是,一个类却可以实现多个interface。
2.abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能有静态的不能被修改的数据成员(static final,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。
3.abstract class和interface设计理念不同。abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。
4.实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法,接口中则不能有实现方法。
5.接口中定义的变量默认是public static final 型,且必须赋初值,所以实现类中不能重新定义,也不能改变其值。
6.抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可重新赋值。
7.接口中的方法默认都是 public abstract 类型的。
abstract class 和 interface 是 Java语言中的两种定义实现“抽象类”的方式,之间有很大的相似性。但是对于它们的选择却又往往反映出对于问题领域中的概念本质的理解、对于设计意图的反映是否正确、合理,因为它们表现了概念间的不同的关系(虽然都能够实现需求的功能。Hadoop实现逐渐用abstract class代替interface,根据实际需求决定使用什么。
发表评论
-
JDK配置
2012-09-19 14:13 692JAVA_HOME C:\Program Files\ ... -
全组合
2012-08-28 23:10 880package cn.xmu.microsoft; ... -
全排列
2012-08-28 11:35 840private static String[] perm ... -
Java 方法引用
2012-08-12 11:23 781一个对象的引用本质上是一个很强的完整和安全方面约束能力的对象指 ... -
Java 动态绑定 静态绑定
2012-08-12 11:07 822静态绑定:使用编译类型的对象引用 动态绑定:使用运行类型所指 ... -
A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available
2012-05-26 15:34 954Eclipse 在 Unbutu下双击图标启动会出现上述问题, ... -
Java BitSet
2012-04-13 09:29 928//说明 bs 至少能够装下65bits 大小由系统 ... -
Java 中文编码问题
2012-04-10 22:09 777import java.io.UnsupportedEn ... -
Hadoop in-mapper combining 实例
2012-04-08 14:46 2597import java.io.IOException; ... -
Java 正则表达式
2012-04-08 09:50 873Pattern p = Pattern.compile( ... -
Java 加载属性配置文件
2012-04-07 16:49 677import java.util.MissingReso ... -
Java notify wait
2012-04-06 09:42 1075wait 和 notify 是Object类而非Thread类 ... -
Dangling meta character '*' near index 0
2012-04-05 14:12 1221这个由于是在java中使用split(“”);造成的,在 ... -
Logger
2012-04-05 08:54 788/LogTest/src/log4j.properties ... -
分割字符串时存在多个分隔符
2012-03-20 17:14 910public static void main(Str ... -
Error: could not open `C:Program FilesJavajre6libamd64jvm.cfg'
2012-02-26 18:55 1076重新配置环境变量后出现可以编译,不可以运行... 删除 ... -
JAVA 运行包中的类
2012-02-23 13:41 1082Java中的包是以目录的形式组织的,在java文件中如果指定了 ... -
Data Access Object
2012-02-18 21:24 760DAO:Data Access Object 把项目开发分为 ... -
文件读写问题
2012-02-16 13:36 746'赵','1234' '钱','2345''孙','3456 ... -
JUnit hamcrest匹配器
2012-02-16 12:04 947Hamcrest带有一个有用的匹配器库.以下是一些最重要的. ...
相关推荐
在Java编程语言中,抽象类(abstract class)和接口(interface)都是用于实现抽象化的重要工具,它们可以帮助程序员更好地组织代码,提高代码的可复用性和扩展性。尽管二者在功能上有一些相似之处,但在实际使用中...
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性...
### abstract class和interface有什么区别? 在面向对象编程中,`abstract class` 和 `interface` 都是用来实现抽象化的工具,但它们之间存在着重要的差异。理解这些差异有助于开发者更有效地设计和实现软件系统。 ...
### Java中的Abstract Class与Interface详解 #### 一、面向对象设计的重要性及抽象的概念 面向对象设计的核心在于抽象,这是衡量软件设计质量的关键因素之一。良好的软件设计不仅体现在高效的底层实现上,更重要的...
在Java编程语言中,`abstract class`(抽象类)和`interface`是两种重要的机制,它们用于实现多态性和抽象性。虽然它们都可以用来定义抽象方法,但它们之间存在显著的差异,这些差异影响了开发者在设计软件时的选择...
在编程领域,`abstract class`(抽象类)和`interface`是两种重要的设计模式,它们在构建可扩展和模块化的软件系统中起着至关重要的作用。这篇文章将深入探讨这两个概念,以及它们在实际开发中的应用。 首先,让...
### Interface与Abstract Class的区别及应用场景 #### 一、Interface与Abstract Class的概念理解 在面向对象编程语言中,如Java,接口(Interface)和抽象类(Abstract Class)是两种非常重要的概念,它们都被用来...
在Java编程语言中,接口(Interface)是一种定义行为规范的关键元素,它允许我们实现多继承。接口是完全抽象的,不包含任何方法的实现,只有方法的声明、常量定义以及默认方法。Java中的接口提供了以下核心知识点: ...
在Java编程语言中,`interface`接口和`abstract class`抽象类是两种重要的面向对象设计概念,它们都用于实现多态性,但有着显著的区别。理解这些差异对于编写可扩展和可维护的代码至关重要。 首先,接口是完全抽象...
在Java编程语言中,`abstract class`(抽象类)和`interface`都是用来定义抽象类的概念,它们在面向对象设计中扮演着重要的角色。抽象类主要用于表示一系列具有共同特征但又各自具有独特行为的具体类的抽象,而接口...
abstract class和interface都是Java语言中支持抽象类定义的机制,但它们之间有很大的区别。选择合适的机制需要根据问题领域的特点和设计理念,正确地理解和使用abstract class和interface是软件设计和开发的关键。
这里我们将深入探讨三种常见的Java设计模式:单例(Singleton)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。 **单例模式(Singleton)** 单例模式确保一个类只有一个实例,并提供一个全局访问点...
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
在Java编程语言中,`abstract class`和`interface`是两种用于定义抽象类的重要机制。这两种机制不仅支持了Java的强大面向对象特性,而且也在实际开发过程中发挥了重要作用。尽管两者在表面上看起来非常相似,但它们...
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
Java 接口的定义与普通类的定义类似,区别在于使用关键字 `interface` 而不是 `class`。接口的定义格式如下: ```java public interface 接口名 { // 抽象方法和默认方法的定义 } ``` 二、Java 接口的抽象方法 ...
在Java编程语言中,`static`、`final`、`abstract`和`interface`是四个非常重要的关键字,它们分别代表不同的特性,用于定义类、变量和方法的行为。下面是对这些关键字的详细解释: 1. **static(静态)** - **...