javaの内部クラス(innerClass)は親クラスの参照を持つことができるので、大変活用しているのですが、ちょっと誤解があったので、簡単なサンプル classとstatic classとでは、親の参照の持ち方が違う つまり、classで宣言すると親の参照を持てます。 次の簡単なサンプルでは、Serializableを実装しているオブジェクトのバイト数を取得しようとしていますが、通常のclassで内部クラスを実装し、それを行おうとすると、親クラス側について例外が発生してしまいますが、static classで内部クラスを実装した場合は例外が発生しません。 public class InnerClassSample { private class Hoge implements Serializable { private String aaa; private String bbb;