2

私はそのようにモデル化されたコードを持っています:

class A {
    private transient Foo foo = new Foo();
    private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
        in.defaultReadObject();
        foo = new Foo();
    }
}

class B extends A {}

foo逆シリアル化中にトランジェントが初期化されるように、 readObject() を A に追加しました。しかし、コード内にブレークポイントをスタックしたところ、XStream が readObject() をまったく呼び出していないことがわかりました。また、A で initFoo() 関数を呼び出すクラス B に readObject() を貼り付けようとしましたが、それも機能しませんでした。

Web サイトの FAQ は、これが機能するために他のボイラープレートが必要であることを暗示しているようには見えません。なぜ呼び出されないのですか?

4

1 に答える 1