你这个说法2种理解
1) 方法里面只能定义局部变量,前面不能用static(也不能用public)来修饰。这个是SUN规定的。而且你方法里面就算你定义成static,受限制于作用域,别人也调用不到阿。
2)静态方法里面没有非静态成员变量。
因为静态方法是在构造函数之前执行的。类还没有完成初始化,自然不能调用非静态的变量了。
楼主你是想问静态方法里面为什么不能有非静态变量吧?
静态方法里面肯定能有静态变量啊。
关于静态方法里面不能有非静态变量的原因很简单,静态变量,静态方法在类加载的时候就存在了。
如果你在调用静态方法的时候,有可能你的非静态变量还没声明。为了防止这种问题,在静态方法里面只能有静态变量。
static是用来修饰成员变量和成员方法,也可以形成静态static代码块。
不能在方法里声明一个变量为static的。
static修饰的变量,任何一个类的实例对象都可以访问,是共享的。
而方法中声明的变量都是局部的,方法执行完后就要销毁,释放缓存空间的。