我发现在静态方法中声明一个非静态变量,并赋值后的此静态方法,也能在另一个静态方法中通过类直接调用。是因为我声明的是局部变量,所以对另一个调用此变量所在方法的方法并没任何影响吗?还有,我貌似并不能在静态方法中声明一个静态变量是为什么?
局部变量的作用范围是从声明开始到所在语句块(“{”“}”构成一个语句块)的结束
public static void foo() { if (...) { ... int a; // 局部变量a作用范围开始 ... } // 局部变量a作用范围结束 //此处a已经不存在 } public static void foo1() { foo(); //此处a也不存在 }
静态变量只能在类中声明,可以在方法中调用和赋值
因为方法是静态的