您的位置:

java多态性的应用(java的特性多态)

本文目录一览:

JAVA的多态有什么特点?什么地方适合使用多态?

所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。

java的多态怎么理解啊,多态有什么用途。

多态有编译时多态 和运行时多态。

第一个是通过方法重载实现;第二个是通过方法覆盖实现(子类覆盖父类方法)。

第一种就是我们调用方法是不用区分参数类型,程序会自动执行相应方法,如: 加法运算,可以使int相加,可以是double相加,都是同一个方法名。

第二种就是动态绑定,使用父类引用指向子类对象,再调用某一父类中的方法时,不同子类会表现出不同结果。 这样的作用就是扩展性极好,玩过网游的话应该知道 游戏中有不同的角色,它们都有一个父类,它们做相同动作时表现出来的效果就会不一样,比如跑,魔法师的跑跟战士的跑就不会一样,这就是俩者都覆盖了父类中的跑方法,各自有自己的现实,表现出来多态。 如果有一天你想再加个角色,只用再写一个类继承该父类,覆盖其中的跑方法就行了,其他代码不用怎么改,所以可维护性也很好。

这一个小的程序 或许你体会不到多态的强度作用。其实说到多态就是 面向接口编程,它不和具体类尽心挂钩了

比如 你没用多态的话 ,

你没实例化一个对象 就要new一下,那假如你那天改变了需求了呢?那是不是又要改里面的?这样不好,所以 你可以通过多态,把需要相似的给提出来,然后继承它 这样 以后需要扩展你仅仅只是继承而已。这样就很简单。

这个需要多看代码 才可以更深刻理解。

有问题在讨论。

java中多态性什么意思?

多态性:顾名思义就是拥有“多种形态”的含义,是指属性或方法在子类中表现为多种形态。

在JAVA中有两种多态是指:运行时多态和编译时多态。多态性是面向对象的核心特征之一,类的多态性提供类中成员设计的灵活性和方法执行的多样性。

多态指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)

实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。

扩展资料:

多态的好处:

1、可替换性(substitutability)多态对已存在代码具有可替换性。例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。

2、可扩充性(extensibility)多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。

3、接口性(interface-ability)多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。

4、灵活性(flexibility)它在应用中体现了灵活多样的操作,提高了使用效率。

5、简化性(simplicity)多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。

参考资料:百度百科-多态

Java中的多态到底有什么实际开发作用

JAVA语言特征之一多态机制,故名思议就是多种变化形态。

在实际的开发当中一般都应用在两个方面,其一:方法的多态---重载(overload)和重写(override),其二:对象的多态,对象的向上转型,对象的向下转型。

方法的重载:发生在同一个类当中,方法名称相同,参数列表不同。

                 经常看到的就是某一个类的构造方法,例如:String类

当然也可以是其他普通方法。

方法的重写:发生在有继承关系的类中(说白了就是子类中),方法名称和参数列表一模一样。

例如: Object类当中的equals()方法、toString()方法等。

对象的多态:

向上转型: 父类类型  父类对象名称 = new  子类类型();

向下转型:子类类型   子类对象名称 = (子类类型)父类对象名称;

注意: 先由向上转型再有向下转型,如果直接写向下转型则会出现ClassCastException(类型转换异常)

应用:1.为接口/抽象类实例化对象

例如: ListString  list = new ArrayListString();

2.在方法当中的参数----如果是父类类型,则可以传入子类对象

例如: public  void show(Object obj) {}

6.当然,在高级框架中也是存在多态的内容,但是只要知道怎么用即可。

在Java程序中,多态性带给我们的好处是什么?

1.可替换性。多态对已存在的代码具有可替换性。(不用修改当前代码,只要提供新的方法就可以直接调用)

2.可扩充性。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。

3.接口性。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。

4.灵活性。它在应用中体现了灵活多样的操作,提高了使用效率。

5.简化性。多态简化了对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。值得注意的是,多态并不能够解决提高执行速度的问题,因为它基于动态装载和地址引用,或称动态绑定。