携帯電話であるか最初に述べた電話番号(クラスPhoneNumberまたはそのサブクラスのオブジェクトとして)家の電話。メインプログラムでは、それが携帯電話または家の電話を参照する場合(後で)知ることができるはずです。ユーザが実際に彼が望んでいる任意の番号を与えることができるので、あなたが見つけるために番号を確認することはできません(彼は家の電話のために9123を与えることができる同じ内容の2つのJavaクラス(関数、変数など)
- :
そして、ここではあなたが行うことができないものです)。
- 答えを示す変数(クラス内またはメインプログラム内)を作成することはできません。
PhoneNumberクラスを拡張し、全く同じ内容のクラスを作成する必要があります(私の例では実際には空ですが、実際の問題ではありません)。そうすれば、それらのクラスのオブジェクトを作ることができ、instanceofをメインプログラムで使うことができますが、別の解決方法があるかどうか疑問に思います。
EDIT:実際にはオブジェクトのクラスを理解するためにしかわからないので、instanceofではなく同じ内容の2つのクラスが私にとって間違っていると思われます。
例:
public class PhoneNumber{
private int Number;
public PhoneNumber(int Number){
this.Number = Number;
}
}
public class Mobile extends PhoneNumber{}
public class HousePhone extends PhoneNumber{}
ありがとうございました。間違いをおかけして申し訳ありません。これは私の最初の質問です。 –
"答えを述べる変数は(クラス内またはメインプログラム内で)作成できません。 < - なぜ? –
代わりに、 'PhoneNumber'を一度拡張して、それがどんなタイプの番号であるかを示すためにenumを追加することができます:' public enum PhoneNumber.PhoneType {MOBILE、HOME} 'とそのメンバーを格納します。 – CollinD