我正在检查传递给多类构造函数的布尔条件,如果为真,我实际上是在尝试分配this
给子类的实例。
这当然行不通,那么有没有办法以这种方式重新定向实例?如果没有办法做到这一点,原因是什么?
这是多类:
public class MultiClass {
String str;
public MultiClass(boolean flag) {
if (flag) {
// doesn't work! wish it would:
// this = new ExtraClass();
} else {
this.str = "you are in the first class";
}
}
} // end of MultiClass
class ExtraClass {
String str;
ExtraClass() {
this.str = "you are in the second class";
}
} // end of ExtraClass
...和测试人员类:
public class MultiClassTest {
public static void main(String[] args) {
MultiClass test = new MultiClass(false);
System.out.println(test.str);
}
} // end of MultiClassTest