走上开放之路:Windows开发人员的Java Web支持基础(二) - 编程入门网
如此重要,以至于您为了最高效地利用继承 的特点,就必须正确理解继承的概念。继承包括以下一些主要概念:
extends 关键字: 继承是在对类进行声明时定义的。您可以使用 extends 关键字来指定 您正在编写的类的超类。 构造函数:在子类中并不能继承构造函数,但是您通常可以在子类的构造函数中调用超类 的构造函数。 重载/覆盖: 重载是指编写多个名字相同但是参数不同的方法。覆盖是指在子类中修改所 继承的方法的实现。 Object 类: 所有的 Java 对象最终都是从 Object 类继承来的, Object 类定义了每个 Java 对象具有的所有基本功能。 接口: 接口是对行为的描述,但是并不提供实现。 扩展类 在 Visual Basic 中,一个类不能继承其他类,但是 Java 语言允许单继承。继承是一种 代码重用方法。如果类 A 继承了类 B(或者说类 A 对类 B 进行了扩展),那么类 A 就自 动继承了类 B 中的所有 public 和 protected 类型的成员。如果类 A 与类 B 在同一个包 中,那么类 A 还会继承所有具有默认(或 包)访问权限的成员。但是有一点非常重要,需 要提醒大家注意,子类永远不会继承它们所扩展的超类的的私有成员。 当您对一个类进行扩展之后,就可以在新类中添加用来定义与超类中不同的属性和操作的 新域和新方法了。而且,您也可以 覆盖子类中那些与超类行为不同的操作。 在定义类时,您可以显式地对一个类进行扩展。要扩展一个类,您只需要子类名后面简单 地跟上 extends 关键字及要扩展的类名即可。如果您没有显式地对一个类进行扩展,那么 Java 编译器就会自动对 Object 类进行扩展。这样,所有的 Java 对象最终都是 Object 类 的一个子类。 扩展的例子 让我们假设您想创建一个新的 CheckingAccount 类。CheckingAccount 是一种特殊的 BankAccount 。换而言之, CheckingAccount 与 BankAccount 具有相同的属性和操作。然 而, CheckingAccount 多了一个操作——存入现金。因此您可以定义 CheckingAccount 类 ,使其对 BankAccount 进行扩展,并添加一个 cashCheck() 方法,如清单 14 所示。 清单 14. 扩展类
走上开放之路:Windows开发人员的Java Web支持基础(二)(7)时间:2011-04-30 IBM Mark Weber子类的构造函数 构造函数实际上并不是类的成员,构造函数也不会被子类继承。BankAccount 构造函数创 建的是 BankAccount 对象,因此您不能在 CheckingAccount 类中使用它来创建 CheckingAccount 对象。然而,您可以使用超类的构造函数作为子类的一部分使用。换而言 之,您通常需要在子类的构造函数中调用超类的构造函数,从而对子类的对象进行部分初始 化。您可以使用 super 关键字实现这种功能,后面跟上一串参数,表示您要调用的超类的构 造函数的参数。如果您正在一个构造函数中使用 super 关键字来调用超类的构造函数,那么 它就必须作为构造函数体的第一条语句出现。 例如,假设您要创建一个 CheckingAccount 构造函数来对 CheckingAccount 对象进行初 始化。您希望创建的 CheckingAccount 对象都有 balance 初始值,因此您要传递一个美元 数量作为参数。这与 BankAccount 类中的构造函数完全相同,因此您想使用构造函数来为您 实现这种功能,如清单 15 所示。 清单 15. 子类的构造函数
您也可以在子类中使 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |