自由,平等,开源,分享

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  2 Posts :: 61 Stories :: 3 Comments :: 0 Trackbacks

  多态描述的是同名方法可以根据发送消息的对象传送参数的不同,采取不同的行为方式的特性。
  面向对象系统中采用多态,大大提高了程序的抽象程度和简洁性,更重要的是,它最大限度地降低了类和程序模块之间的耦合性,提高了类模块的封闭性,使得它们不需了解对方的具体细节,就可以很好地共同工作。
  这一点对程序的设计、开发和维护都有很大的好处。

1 多态的概念

  多态是指一个程序中同名的不同方法共存的情况。
  这些方法同名的原因是它们的最终功能和目的都相同,但是由于在完成同一功能时,可能遇到不同的具体情况,所以需要定义含不同的具体内容的方法,来代表多种具体实现形式。

  Java 提供两种多态机制:重载与覆盖。

2 方法重载

  在同一类中定义了多个同名而不同内容的成员方法时,我们称这些方法是重载(Override)的方法。
  重载的方法主要通过形式参数列表中参数的个数、参数的数据类型和参数的顺序等方面的不同来区分的。
  在编译期间,Java 编译器检查每个方法所用的参数数目和类型,然后调用正确的方法。

3 覆盖

  由于面向对象系统中的继承机制,子类可以继承父类的方法。
  但是,子类的某些特征可能与从父类中继承来的特征有所不同,为了
体现子类的这种个性,Java 允许子类对父类的同名方法重新进行定义,即在子类中定义与父类中已定义的相同名而内容不容的方法。
  这种多态被称为覆盖(Overload)。

  由于覆盖的同名方法是存在于子类对父类的关系中,所以只需在方法引用时指明引用的是父类的方法还是子类的方法,就可以很容易地把它们区分开来。

posted on 2008-04-07 22:32 龙震 阅读(727) 评论(0)  编辑  收藏 所属分类: 概念,术语,基础,理解

只有注册用户登录后才能发表评论。


网站导航: