初期化手順 - またまちがった
2007/10/10
java
このソースコードは問題なくうごくでしょうか。
public class TestInit {
public static void main(String[] args) {
new A();
}
}
class At {
void print() {
System.out.println("i am At...");
}
}
class A extends SuperA {
At at = new At();
A() {
super();
}
@Override
public void initialize() {
at.print();
}
}
/**
*
* 抽象クラス
*
*/
abstract class SuperA {
/**
* 初期化メソッドを呼び出します。
*/
public SuperA() {
initialize();
}
/**
* 初期化メソッド。 使用者は実装しないといけない。
*
*/
public abstract void initialize();
}
ヌルポインタを起こします。
: