快速业务通道

走上开放之路: ASP 开发人员的 J2EE 基础(上) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
一样,都在子类中继承。而构造函数是绝对不会被继承的。

走上开放之路: ASP 开发人员的 J2EE 基础(上)(13)

时间:2011-03-11 IBM Jeff Wilson

显式引用

Java 语言使用 this 关键字引用当前的对象。您可以使用 this 关键字显式引用当前类中的域、方法和构造函数。

this 关键字的常见用法是解决变量范围问题。例如, BankAccount 类有一个称为 balance 的字段。我们假定您要编写一个称为 setBalance(float balance) 的方法,它设置对象的 balance 域。问题出在 setBalance(float balance) 域的内部,当您引用 balance 时,您实际上引用 balance 参数,而不是 balance 域。您可以通过使用 this 关键字显式引用该域,如清单 13 所示。

清单 13. "this" 关键字

public class Account { public void setBalance(float balance) {   this.balance = balance; }

继承

继承是面向对象编程最重要的优点之一。为了最有效地使用继承,正确了解继承非常重要。继承涉及以下重要概念:

extends 关键字 :继承在声明类时定义。使用 extends 关键字来指定您所编写的类的超类。

构造函数:构造函数不在子类中继承,但经常在子类构造函数中调用超类的构造函数。

重载/覆盖: 重载是编写名称相同但参数不同的几个方法。 覆盖是指更改子类中继承的方法的实现。

Object 类 :所有 Java 对象都最终继承自 Object 类,该类定义每个 Java 一定要具备的基本功能。

接口: 接口是一种行为的描述,但并不实现该行为。

扩展类

在 Visual Basic 中,类不能从任何其他类继承,但 Java 语言允许单继承。继承是重用代码的一种方式。当类 A 继承自(或 extends)类 B 时,类 A 就自动继承类 B 的所有 public 和 protected 成员。如果类 A 与类 B 在同一个包中,则类 A 还继承所有具有默认(或 包)访问权的成员。重要的是要注意,子类始终不会继承它们扩展的类的私有成员。

一旦您扩展了某个类,就可以添加新域和方法,这些新域和方法定义将新类与超类区别开来的属性和操作。另外,您可以 覆盖在子类中必须具有不同行为的超类的操作。

定义类时,可以显式扩展这个类。要扩展类,在该类名后跟一个 extends 关键字,然后是要扩展的类的名称。如果您没有显式扩展类,则 Java 编译器自动扩展类 Object 。这样,所有 Java 对象最终都是 Object 类的子类。

一个扩展例子

假定您要创建一个新的 CheckingAccount 类。 CheckingAccount 是一个特殊类型的 BankAccount 。换句话说, CheckingAccount 与 BankAccount 有相同的属性和操作。但是, CheckingAccount 还新增了一个操作――兑现支票。因此,您可以定义 CheckingAccount 类,使它扩展 BankAccount 并添加了一个 cashCheck() 方法,如清单 14 所示。

清单 14. 扩展类

public class CheckingAccount extends BankAccount {   public void cashCheck(float amount) {     withdraw(amount);   } }

走上开放之路: ASP 开发人员的 J2EE 基础(上)(14)

时间:2011-03-11 IBM Jeff Wilson

子类构造函数

构造函数不是真正的类成员,因而不对构造函数进行继承。 BankAccount 构造函数创建 BankAccount 对象,因此,不能在 CheckingAccount 类中使用它来创建 CheckingAccount 对象。但是,可以从超类中使用构造函数来初始化继承这个超类的子类的一部分。换句话说,您经常需要在子类构造函数中调用超类构造函数来对子类对象进行部分初始化。使用 super 关键字,后接代表要调用的超类构造函数的参数的参数化列表就可以做到这一点。如果您要在某个构造函数中使用 super 关键字来调用超类的构造函数,则它必须是构造函数体中的第一个语句。

例如,您需要编写 CheckingAccount 构造函

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号