简答题

什么是多态?Java的编译时多态和运行时多态有什么区别?

正确答案

J.ava中的多态就是指一个程序中同名的不同方法共存的情况。分为编译时多态和运行时多态两类。
方法重载可以实现Java的编译时多态。它是在相同类内,定义名称相同,但参数个数或参数类型不同的方法。编译器会根据实参的个数和类型,确定调用哪个方法。所谓编译时多态,是指程序会根据参数的不同来调用相应的方法。具体调用哪个被重载的方法,是由编译器在编译阶段决定的。所以编译时多态也叫做静态多态性。
方法覆盖可以实现Java的运行时多态。它是在子类当中,定义名称、参数个数与类型均与父类相同的方法,用以改写父类方法的功能。运行时多态是一种在运行时,而不是在编译时调用覆盖方法的一种机制。对于覆盖的方法,Java运行时系统根据调用该方法的实例的类型,来决定选择哪个方法调用。

答案解析

相似试题
  • 在C#中有两种多态性:编译时的多态性和运行时的多态性。编译时的多态性是通过()实现的,运行时的多态性是通过继承和()来实现的

    填空题查看答案

  • 编译时的多态性和运行时的多态性在实现方法上有何不同?

    简答题查看答案

  • 多态从实现的角度来讲可以划分为两类,编译时的多态和()。

    填空题查看答案

  • 编译时的多态性可以通过使用()获得。

    单选题查看答案

  • 在C++中,使用类体系依靠什么机制实现程序运行时的多态?

    简答题查看答案

  • Java中的多态是指()的情况。

    填空题查看答案

  • 方法重载是java实现多态性的一种方式。

    判断题查看答案

  • JAVA实现多态的机制有哪些?

    简答题查看答案

  • Java中的多态为()两类。

    填空题查看答案