java中多态的特点?

Java中多态性的实现 面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实...
java中多态的特点?
多态是同一个行为具有多个不同表现形式或形态的能力。
多态性是对象多种表现形式的体现。
比如我们说"宠物"这个对象,它就有很多不同的表达或实现,比如有小猫、小狗、蜥蜴等等。那么我到宠物店说"请给我一只宠物",服务员给我小猫、小狗或者蜥蜴都可以,我们就说"宠物"这个对象就具备多态性。
接下来让我们通过实例来了解Java的多态。
例子
public interface Vegetarian{}public class Animal{}public class Deer extends Animal implements Vegetarian{}因为Deer类具有多重继承,所以它具有多态性。以上实例解析如下:
一个 Deer IS-A(是一个) Animal
一个 Deer IS-A(是一个) Vegetarian
一个 Deer IS-A(是一个) Deer
一个 Deer IS-A(是一个)Object
在Java中,所有的对象都具有多态性,因为任何对象都能通过IS-A测试的类型和Object类。
访问一个对象的唯一方法就是通过引用型变量。
引用型变量只能有一种类型,一旦被声明,引用型变量的类型就不能被改变了。
引用型变量不仅能够被重置为其他对象,前提是这些对象没有被声明为final。还可以引用和它类型相同的或者相兼容的对象。它可以声明为类类型或者接口类型。
当我们将引用型变量应用于Deer对象的引用时,下面的声明是合法的:
Deer d = new Deer();Animal a = d;Vegetarian v = d;Object o = d;所有的引用型变量d,a,v,o都指向堆中相同的Deer对象。
2014-10-20
Java中多态性的实现
面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。
多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
多态的作用:消除类型之间的耦合关系。
现实中,关于多态的例子不胜枚举。比方说按下 F1 键这个动作,如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;如果当前在 Word 下弹出的就是 Word 帮助;在 Windows 下弹出的就是 Windows 帮助和支持。同一个事件发生在不同的对象上会产生不同的结果。
下面是多态存在的三个必要条件,要求大家做梦时都能背出来!
多态存在的三个必要条件
一、要有继承;
二、要有重写;
三、父类引用指向子类对象。
多态的好处:
1.可替换性(substitutability)。多态对已存在代码具有可替换性。例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。
2.可扩充性(extensibility)。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性。
3.接口性(interface-ability)。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。如图8.3 所示。图中超类Shape规定了两个实现多态的接口方法,computeArea()以及computeVolume()。子类,如Circle和Sphere为了实现多态,完善或者覆盖这两个接口方法。
4.灵活性(flexibility)。它在应用中体现了灵活多样的操作,提高了使用效率。
5.简化性(simplicity)。多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。2015-06-03
函数名称相同,但是函数参数的个数不同,返回值类型不同。2014-10-20
重载、重写、继承...2014-10-20
mengvlog 阅读 13 次 更新于 2025-07-20 08:52:03 我来答关注问题0
  •  翡希信息咨询 java中多态是什么意思?

    Java中的多态是指允许不同类的对象对同一消息作出响应。这是面向对象编程的一个重要特性,它使得程序更加灵活和可扩展。多态性包括参数化多态性和包含多态性,在Java中主要通过以下两种形式表现:重载:定义:重载发生在同一类中,是指同一类中可以有多个方法名相同但参数列表不同的方法。特点:重载的方法...

  • 多态性的优点: 提高了代码的灵活性和效率:通过多态性,可以以统一的方式处理不同类型的对象,无需为每种类型编写专门的代码。 解决了函数重名问题:重载和覆盖机制有效避免了函数名的冲突。 支持代码复用和扩展:多态性使得代码更加模块化,易于维护和扩展。综上所述,多态性是Java编程中的一项重要特性...

  • 多态是指面向对象编程中的一个核心概念,它指的是子类可以覆盖父类的方法,并且在运行时能够自动地根据对象的实际类型调用相应的方法。具体来说,多态包括以下几个关键点:继承:多态通常发生在有继承关系的类之间。子类继承父类,并可以覆盖父类中的方法。方法覆盖:子类通过提供与父类方法相同签名但不同...

  • 在java中,多态是面向对象编程的一种重要特性,它允许不同的对象对同一个消息做出不同的响应。简单来说,多态就是同一种行为在不同对象上的表现方式不同。Java中的多态实现主要依靠两个机制:继承和接口。在继承中,子类可以继承父类的属性和方法,也可以重写父类的方法来实现自己的特定行为。当父类的...

  •  翡希信息咨询 java中假设B继承A,C继承B 下面A a=new C();与C a=new C()有区别吗?多态到底是什么意思。

    在Java中,多态性主要通过方法重写和接口实现来实现。当使用父类类型的引用来调用被子类重写的方法时,将执行子类中的实现,这就是多态性的表现。总结: A a=new C;和C c=new C;在类型上存在区别,前者是父类引用指向子类对象,体现了多态性;后者是子类引用指向子类对象,没有直接体现多态性。

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部