如果構造函數以異常結束,是否創建的對象與普通構造函數完全相同?如果構造函數以異常結束,那麼創建的對象是否與正常創建的相同?
class A {
static A o;
A() throws Exception {
o=this;
throw new Exception();
}
void f() { System.out.println("f(): entry."); };
static public void main(String[]args) {
try {
A o =new A();
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
A.o.f(); // Is it safe to use this object?
}
}
這編譯和運行,而這個程序的輸出是:
Exception: java.lang.Exception
f(): entry.
它是Java嗎?你甚至試過編譯它? – Sekhar
是的,我做過。有用。 –
@DonLi,user331225指出你錯過了一個'}',所以你的代碼示例不能編譯。 –