x=1;此处为何错误
in x -》int x;t.y=1;此处为何错误 
这一处,你要声明public static int y;并且要用Test.y 才可以访问
Test.x=1;此处为何错误
这一处要用t.x并且也要用public 级别

解决方案 »

  1.   

    >x=1;此处为何错误
    因为x 不是静态的
    >t.y=1;此处为何错误
    因为y 是静态的,不是t 的实例成员
    >Test.x=1;此处为何错误
    因为x 不是静态的,不是test 命名空间的成员静态就是不管是实例还是静态域都能访问的东西,用它的容器访问它就行了
    非静态,比如实例成员,就必须指定它的实例句柄才可以访问它,不然,如果有一堆的new test实例,每个实例都一个自己的x 那你如果用 .x 指的是哪一个x?而test.y 则不同,管你几个实例,静态成员始终是那一个。。可以这么想,去TMD的静态实例的理论,一个原则,静态在工程任何地方可以访问到(但不一定能作用,比如定义成private,就不能在别的容器访问它,public 就可以,它决定了作用域。而静态不静态则决定它是否可以访问到)
    非静态,比如实例成员的话就就必须提供句柄建议从内存模型去理解它,先明白什么是实例化,自然就明白静态非静态的区别了,它是一个概念不是一个简单的答案