初心者はこちらです。私の任務の一部は、着信電話が2つのカテゴリのどちらに属するかをユーザーに尋ねることです。Javaでオブジェクトを宣言することは可能ですか?
クラスCategoryAとクラスCategoryBは、前の割り当てで作成したPhoneCallクラスから継承されます。
私はこれやりたい:
String choice = null;
System.out.printf("Please enter a 'A' for Category A%n");
System.out.printf("Please enter a 'B' for Category B%n");
//[Input validation/exception handling stuff goes here]
switch(choice){
case "A":
CategoryA objectName = new CategoryA();
break;
case "B":
CategoryB objectName = new CategoryB();
break;
}
しかし、私は外でそれを使用することはできませんので、私はswitchステートメント内のobjectName宣言してい
- ので動作しませんもちろんのをそれ。
- 両方のオブジェクトが同じ名前を持っています(たとえ1つだけ宣言されていても)。
残りのオブジェクトはobjectNameを使用します。私は2つの異なるオブジェクト名を持っている必要がある場合、私はif/elseステートメントを持っているか、objectNameを使用したたびにステートメントを切り替える必要がありますか?私はオブジェクトを関数に渡すことさえできません。なぜなら、それはそのクラスまたは他のクラスのいずれかであるからです。私はここに欠けているいくつかの解決策はありますか?
ありがとう!これは完全に動作します! – StarSweeper
キャストする前に 'if(objB instanceof ClassB)'を使うことができます(おそらくそうすべきです)。 –