Статическая циклическая зависимость в Java

для следующего кода:

class A
{
    public static int X;
    static { X = B.Y + 1;}
}
public class B
{
    public static int Y = A.X + 1;
    static {}
    public static void main(String[] args) {
        System.out.println("X = "+A.X+", Y = "+B.Y);
    }
}

вывод: X = 1, Y = 2

Почему? и как ???

-Ivar

PS: фрагмент кода взят из JavaCamp.org

13
задан topgun_ivard 20 June 2011 в 19:32
поделиться