假設用戶爲您提供了一個電話號碼(作爲類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