1

次のクラスを定義すると

public class Outer extends Outer.Inner {
    public static class Inner { }
}

Netbeans 6.9.1 では、アウターとインナーの両方に対して「serialVersionUID の定義がありません」という警告が表示されます。この警告に正当な理由があるのか​​ 、それともバグなのか疑問に思っています。内部クラスを拡張すると、コンパイラは Serializable を実装していると考えるようになりますか?

注: これは、この不必要なデザイン パターンが必要というよりは、好奇心によるものです。

4

1 に答える 1

1

私自身も同じことを疑問に思ったことがあります。答えの代わりに、警告をオフにしました。

Tools -> Options Menu Hints Tab -> Standard Javac warnings シリアライゼーションのチェックボックスをオフにします。

シリアル化されたオブジェクトを拡張するときは注意が必要ですが、シリアル化されていないものに煩わされることはありません。

于 2011-06-24T19:16:55.613 に答える