合わせ鏡の怪

class ClassSample{
  ClassSample cs;
}

class ClassSampleMain{
  public static void main(String[] args){
    ClassSample cs1 = new ClassSample();
    ClassSample cs2 = new ClassSample();
    cs1.cs = cs2;
    cs2.cs = cs1;
  }
}

 プログラミング言語Javaで、前者のクラスのような、「自身の型を持つ変数の宣言を定義に含むクラス」を書いてもちゃんと動く。「定義で自身が言及されていたら合わせ鏡みたいに無限に変数が増えて、無限に変数を用意しないといけないんじゃないの?」と僕は思ったけど、オブジェクトに対しての理解が曖昧というか、何かと混同してるのかもしれない。2015/09/25/2:12現在もまだわかってない。