码迷,mamicode.com
首页 > 编程语言 > 详细

Java 语言多态性

时间:2017-11-25 22:42:09      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:www.   面向   抽象   表示   let   实现   .com   继承   develop   

https://www.ibm.com/developerworks/cn/java/java-language-polymorphism/index.html

定义多态性

多态性是面向对象编程中的一个概念,表示"不同形态",实际上意味着,根据实现方法的对象,相同方法名称具有不同的行为。

在 Java 编程语言的语境中,多态性意味着(通过一种方法)以不同方式为不同对象实现相同的行为契约。在 Java 中,通常有 3 种方式实现此目的:

  • 接口
  • 抽象方法
  • 方法重写

通过接口实现多态性

实质上,接口要求每个顶级对象实现都是不同的(顶级对象指的是继承图中第一个对象,该对象显式声明它实现了所指的接口)。在通过引用接口 A,而不是引用对象 B 来传递实现接口 A 的对象 B 时,就会实现多态性。

通过抽象方法实现多态性

Java 语言还能创建抽象方法,这种方法只能存在于抽象类(即无法实例化的类)上。这种实现方式的思路是,必须在分层结构中的某处由子类 B 实现(抽象类 A 上定义的)抽象方法(假设为 foo()),然后才能实例化 B。在通过引用接口 A 来传递类型 B 的对象时,就会实现多态性。

通过方法重写实现多态性

子类 B 提供父类 A 中的某个方法(假设为 foo())的替代实现时,就可以说重写了 foo()。类型 B 的对象作为类型 A 传递给某个方法时,Java 运行时会确定是否必须实际调用 B.foo(),而不是 A.foo()。这就是通过方法重写实现多态性的方式。

Java 语言多态性

标签:www.   面向   抽象   表示   let   实现   .com   继承   develop   

原文地址:http://www.cnblogs.com/xingzc/p/7896545.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!