gpt4 book ai didi

java - 如何在不同的类中使用子类特定的方法?

转载 作者:行者123 更新时间:2023-12-02 02:28:25 24 4
gpt4 key购买 nike

我有两个类(PhoneCall、SMS)扩展了另一个类(Communication)。在不同的类(注册表)中,我有一个 ArrayList,用于托管所有传入通信,包括电话和短信。我的作业要求我创建一个返回持续时间最长的电话的方法(PhoneCall 类的属性)。因此,当我通过通信运行 ArrayList 时,我收到一条错误,指出无法解析 PhoneCall 类中存在的方法 getCallDuration()。

public PhoneCall getLongestPhoneCallBetween(String number1, String number2){
double longestConvo=0;
for(Communication i : communicationsRecord){
if(i.getCommunicationInitiator()==number1 && i.getCommunicationReceiver()==number2){
if(i.getCallDuration()>longestConvo){
}


}
}
return null;
}

因此程序在通信类中找不到该方法,但它在其子类之一中。我真的不知道如何继续。如果有人能帮助我,那就太好了。

最佳答案

将内部检查更改为:

if (i instanceof PhoneCall) {
PhoneCall phoneCall = (PhoneCall) i;
if (phoneCall.getCallDuration() > longestConvo) {
// Do what you need to do..
}
}

关于java - 如何在不同的类中使用子类特定的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47491297/

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