当前位置: 首页 > 知识库问答 >
问题:

Java中运行时多态性的示例?

段干昊然
2023-03-14

这可以是运行时多态性的一个例子吗?

public class X
{
    public void methodA() // Base class method
    {
        System.out.println ("hello, I'm methodA of class X");
    }
}

public class Y extends X
{
    public void methodA() // Derived Class method
    {
        System.out.println ("hello, I'm methodA of class Y");
    }
}
public class Z
{
   public static void main (String args []) {
       X obj1 = new X(); // Reference and object X
       X obj2 = new Y(); // X reference but Y object
       obj1.methodA();
       obj2.methodA();
   }
}

代码已从这里摘取

共有1个答案

羊毅庵
2023-03-14

是的。您的示例是运行时多态性的示例。静态多态的一个例子是方法重载。这里有一些很好的例子:Java中的动态多态性和静态多态性有什么区别?

干杯,

马库斯

 类似资料:
  • 问题内容: 运行时多态与静态多态有何不同? 这可以作为运行时多态的示例吗? 代码是从这里挑选的 问题答案: 是的,这是在Java中 在中,编译器本身确定应调用的方法。是静态多态性的一个例子。 在中,编译器无法在编译时确定方法。(如您的示例)是的示例。因为在(如您的示例中),类和中的签名相似。因此,编译器无法在编译时确定应执行的方法。仅在对象创建(这是一个运行时过程)之后,运行时环境才能了解要调用的

  • 本文向大家介绍在Java中使用运行时多态,包括了在Java中使用运行时多态的使用技巧和注意事项,需要的朋友参考一下 使用多态性的概念,可以以多种方式执行单个动作。可以通过方法重写来执行运行时多态。在编译时解析此方法中的重写方法。 给出了一个演示Java运行时多态性的程序,如下所示: 示例 输出结果

  • 问题内容: 我写了一段代码来了解运行时多态性… 实例变量受到编译时的约束,但是为什么这里的对象的向下转换没有意义?表示它是调用方法而不是方法? 问题答案: 让我们看看这里有什么: 可变的的, 引用类型 ; 一个实例创建表达式,产生一个对象类型,其中; 一个 向上转型表达式参考 ,向上转型上述表达式成型; 将3.的结果分配给变量。 阅读Java时,您必须牢记以下几点: 对象 的 类型 :对象永远不能

  • 本文向大家介绍Java中的动态方法分派或运行时多态,包括了Java中的动态方法分派或运行时多态的使用技巧和注意事项,需要的朋友参考一下 Java中的运行时多态性是通过方法覆盖实现的,方法覆盖是子类覆盖其父类中的方法。重写的方法本质上隐藏在父类中,除非子类在重写的方法中使用super关键字,否则不会调用该方法。此方法调用解析在运行时发生,称为动态方法分派机制。 示例 让我们来看一个例子。 这将产生以

  • 本文向大家介绍Java中的多态性,包括了Java中的多态性的使用技巧和注意事项,需要的朋友参考一下 多态是对象采取多种形式的能力。当使用父类引用来引用子类对象时,会在OOP中最常见地使用多态。 任何可以通过多个IS-A测试的Java对象都被视为多态的。在Java中,所有Java对象都是多态的,因为任何对象都将通过IS-A测试以了解其自身类型和Object类。 重要的是要知道访问对象的唯一可能方法是

  • 本文向大家介绍什么是C#中的运行时多态?,包括了什么是C#中的运行时多态?的使用技巧和注意事项,需要的朋友参考一下 运行时多态性具有方法覆盖,也称为动态绑定或后期绑定。它由抽象类和虚函数实现。 抽象类 抽象类包含抽象方法,这些方法由派生类实现。 让我们看一个实现运行时多态性的抽象类的示例- 示例 示例 虚函数 当您在类中定义了要在继承的类中实现的函数时,可以使用虚函数。虚拟函数可以在不同的继承类中