请网友看看下面的程序,错在什么地方? 
class A{ 
    private String x; 
    private String y="A.y"; 
    class B{ 
        private String x; 
        private String y="b.y"; 
        class C{ 
            private String x; 
            private String y="c.y"; 
        } 
    } 
    void test(){ 
        A m=new A(); 
        m.x="A.x"; 
        System.out.println("m.x="+m.x+" m.y="+m.y); 
        B n=new B(); 
        n.x="B.x"; 
        System.out.println("n.x="+n.x+" n.y="+n.y); 
        C k=new C(); 
        k.x="C.x"; 
        System.out.println("k.x="+k.x+" k.y="+k.y); 
    } 
    public static void main(String[] args){ 
        A l=new A(); 
        l.test(); 
    } 

错误提示如下: 
书上的程序如下:
我都几乎是按着书上写的做的,为什么还说出错呢?