我正在尝试使用变量来实例化不同的类。例如:
Object blah;
class1 ex1;
class2 ex2;
public void test(int i){
if(i == 1){
blah = new class1();
} else {
blah = new class2();
}
}
我将如何在java中执行此操作?
编辑1: 对不起,让我现在尝试更具体。
假设我有三个班级:A、B 和 C。
A 是我的主要位置并使用 B。B 使用 C。
问题是这样的:
public class B1{
C instanceC;
public B1(){
instanceC = new C();
//uses a method of instanceC.
}
}
public class B2{
C instanceC;
public C(){
instanceC = new C();
//uses a method of instanceC.
}
}
然后在A中:
public class A implements MouseListener{
Object blah;
B1 instanceB1;
B2 instanceB2;
public void test(int i){
if(i == 1){
blah = new B1();
} else {
blah = new B2();
}
}
//I left the other mouseListener methods blank
public void mouseReleased(int i){
blah.instanceC.someMethod();
}
public static void main(String[] args) {
A instanceA = new A();
A.test(1);
}
}
编辑 2:当我尝试使用 instanceC.someMethod() 或 instanceC.someVariable 时,它给了我一个空指针异常。
我希望这已经足够清楚了。如果它令人困惑,请告诉我,我会看看我是否可以进一步简化它。感谢已经帮助过的人!