gpt4 book ai didi

java - 在抽象类中调用重写的函数

转载 作者:行者123 更新时间:2023-12-01 06:57:53 24 4
gpt4 key购买 nike

所以我有抽象类Worker,它具有抽象函数computePay

该类的两个子类是HourlyWorkerFixedWorker,现在我已经在这两个类中提供了computePay的实现。现在我的代码说

Worker[] w=new worker[2];
w[0]=new HourlyWorker;
w[1]=new FixedWorker;

现在,当我说w[0].computePay时,我如何确定调用了哪个computePay,我知道子类中的那个会被调用,但是哪一个呢?

即如果我的两个子类都有不同的computePay函数实现,下面的代码会给我想要的结果吗?

w[0].computePay //Prints the pay as per the implementation in HourlyWorker;
w[1].computePay //Prints the pay as per the implementation in FixedWorker;

我还听说过实例运算符/关键字,但我不知道它在这里有什么用吗?

最佳答案

是的,Java 将确保调用“正确”的方法。

无需使用instanceof进行手动调度。

i know the one from the child class will be called, but which one?

一个basic concept of OOP是你不需要知道。您正在对抽象类中定义的接口(interface)进行编程,并且不需要知道此处使用的是哪个实现(或者它的作用)。

关于java - 在抽象类中调用重写的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7319871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com