在java中什么是多态。。 什么时候用多态

2024-12-04 18:42:16
推荐回答(4个)
回答1:

多态,顾名思义就是具有很多种形态,你可以联想到一种物质有很多种状态、形态,例如水,有气态、液态、固态,然后回归到编程,假如我们需要编程来实现对水的质量进行计算,在假设质量=密度*体积。可是怎么样才能把所有形态、状态的水都能计算出来,这是就要分不同种情况了,假设是气态,这样就跟压强(假设的)有关系了,所以成员方法参数为压强、体积、密度。而液态的就有可能跟温度(假设的)关系比较大,所以成员方法中的参数为温度、体积、密度。而固态跟温度和压强(假设的啦)关系不大,那么成员方法的参数为体积、密度。这样计算水的质量就有3种计算公式了,虽然是不同的3条公式,但是他们殊途同归,最后都是求质量。
综上,多态就是为了解决同一问题的不同解决方式。使用前提就是一个对象(类)有多种情况,然后分情况进行解决。

回答2:

在java中:   多态,是面向对象的程序设计语言最核心的特征。多态,意味着一个对象有着多重特征,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。从程序设计的角度而言,多态可以这样来实现(以java语言为例):  
 public interface Parent {  
 public void simpleCall();  
 }  
 public class Child_A implements Parent{   
public void simpleCall(){  
 //具体的实现细节;
  }  
 }  
 public class Child_B implements Parent{
  public void simpleCall(){
  //具体的实现细节;
  }  
 }  
 //当然还可以有其他的实现
然后,我们就可以看到多态所展示的特性了:
  Parent pa = new Child_A();  
 pa.simpleCall()则显然是调用Child_A的方法;  
 Parent pa = new Child_B();   
pa.simpleCall()则是在调用Child_B的方法。所以,我们对于抽象的父类或者接口给出了我们的具体实现后,pa 可以完全不用管实现的细节,只访问我们定义的方法,就可以了。事实上,这就是多态所起的作用,可以实现控制反转这在大量的J2EE轻量级框架中被用到,比如Spring的依赖注射机制。

回答3:

什么是多态:某一类事物的多种存在形态

多态性举例:
猫是一个实体,是一个猫类型,因为有了继承,是动物中的一种,把这个实体称之为动物也可以,所以它具备了两种形态,猫和动物。这便是体现了多态性。

多态的好处:
提高了代码的扩展性,有了多态,前期设计好的内容可以使用后期出现的子类内容,对于指挥对象做事情这件事情,如果对象很多,指挥起来很麻烦,抽取对象的共性类型,对该类型的事物进行指挥就会变的很简单。

多态的前提:
必须要有关系:继承、实现。
必须有覆盖的操作。

多态的弊端:前期的程序虽然可以使用后期出现的子类内容,但是只能使用子类覆盖父类中的内容,不能使用子类中的特有内容。

回答4:

Java是面向对象的语言,多态性是面向对象程序设计代码重用的一个最强大机制,动态性的概念也可以被说成“一个接口,多个方法”。Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制,
1.可替换性。多态对已存在的代码具有可替换性。
2.可扩充性。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际 上新加子类更容易获得多态功能。  
3.接口性。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。  
4.灵活性。它在应用中体现了灵活多样的操作,提高了使用效率。  
5.简化性。多态简化了对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。值得注意的是,多态并不能够解决提高执行速度的问题,因为它基于动态装载和地址引用,或称动态绑定。
在程序需要扩展的时候,需要使用到多态。