假设用户为您提供了一个电话号码(作为类PhoneNumber的一个对象或它的一个子类),他首先声明它是手机还是手机一个家庭电话。在主程序中,您应该能够知道(之后的方式)是指移动电话还是家庭电话。2具有相同内容的Java类(函数,变量等)
下面是你不能做什么:
- 您不能检查数字,找出因为用户实际上是能够给任何号码,他希望(他可以给9123的室内电话)。
- 您不能在任何指示答案的变量(在类或主程序中)。
如果您制作两个不同的类来扩展PhoneNumber类并且具有完全相同的内容(在我的示例中它们实际上是空的,但在我真正的问题中它们不是)?如果你这样做,你可以创建这些类的对象,并在主程序中使用instanceof,但是我想知道是否有另一种解决方案,看起来更好。
编辑:我看起来有什么不对,因为我们实际上只知道找出一个对象的类,所以2个类的内容相同,而不是instanceof。
例子:
public class PhoneNumber{
private int Number;
public PhoneNumber(int Number){
this.Number = Number;
}
}
public class Mobile extends PhoneNumber{}
public class HousePhone extends PhoneNumber{}
在此先感谢并对任何错误感到抱歉,这是我的第一个问题 –
“您不能在任何指示答案的变量(在课程或主程序中)”。 < - 为什么不呢? –
您可以改为扩展'PhoneNumber'一次,然后添加一个枚举来指示它是什么类型的数字,例如:'public enum PhoneNumber.PhoneType {MOBILE,HOME}'并存储它的一个成员。 – CollinD