代码如下 1.局部变量,报错!!! public void test(){ int i; System.out.println(i); } 2.成员变量,输出0 int i; @Test public void test(){ System.out.println(i); } 之前一直有疑问,但是也不知道具体是什么原因,今天看了thinking in java大致就了解了: 其实说到底还是java规范,因为java规定要这样就必须这样==. 原理就是,java规定,所有变量在使用之前要保证是经过