些細な構文エラーなどで申し訳ありませんが、私は Jitsi モジュールでこれを経験しており、Java にあまり慣れていないため、何が起こっているのか、なぜ、どのように修正する必要があるのかを確認したいと考えています。
public abstract class A
{
public A()
{
this.load();
}
protected void load()
{
}
}
public class B extends A
{
private String testString = null;
public B()
{
super();
}
@Override
protected void load()
{
testString = "test";
}
}
アプリケーションは、load class by name メソッドを使用してクラス B のインスタンスを作成するときにこれを実行します。
- クラス B でオーバーライドされた load() を呼び出す
- 変数を初期化し (デバッガーに従って「プライベート文字列 testString = null」を呼び出します)、それらを無効にします。
これは予期された Java の動作ですか? 何が原因でしょうか? これは、1.7 JDK で実行される Java 1.6 アプリケーションです。