gpt4 book ai didi

java - 2 个具有相同内容(函数、变量等)的 Java 类

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

假设用户给您一个电话号码(作为 PhoneNumber 类或其子类的对象),他首先说明该电话号码是移动电话还是家庭电话。在主程序中,您应该能够知道(稍后)它是指移动电话还是家庭电话。

以下是你不能做的事情:

  1. 您无法检查号码来找出答案,因为用户实际上可以提供他想要的任何号码(他可以提供 9123 作为家庭电话)。
  2. 您不能(在类中或主程序中)创建任何变量来说明答案。

您是否应该创建两个不同的类来扩展 PhoneNumber 类并具有完全相同的内容(在我的示例中它们实际上是空的,但在我真正的问题中它们不是)?如果这样做,您可以创建这些类的对象并在主程序中使用 instanceof,但我想知道是否还有另一种解决方案,一种看起来更好的解决方案。

编辑:对我来说,错误的是两个具有相同内容的类,而不是instanceof,因为我们实际上只知道它是为了找出对象的类。

示例:

public class PhoneNumber{
private int Number;

public PhoneNumber(int Number){
this.Number = Number;
}
}

public class Mobile extends PhoneNumber{}

public class HousePhone extends PhoneNumber{}

最佳答案

您不能创建任何变量(在类或主程序中)来说明答案。但你可以创建一个方法来获取类型。在您的 MobileHousePhone 类中创建一个返回某种 enum 的方法 getPhoneTypegetPhoneType 方法应该是基类中的抽象方法。

我认为这比 instanceof 更好。

关于java - 2 个具有相同内容(函数、变量等)的 Java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43503064/

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