java中静态函数中为什么不能定义static变量?

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:13:19
public class Test
{
public static void fn()
{
static int num = 0; //错误
}
public static void main(String[] args)
{
static int num = 0; //错误
}
}
本人菜鸟,初学java,想知道为什么?谢谢

方法之中的变量只是局部变量,并不能被方法之外所识别,所以并不能使用public,static,private,protected...之内的修饰符。

这是基本规则。

我也不太了解
我认为 static修饰的变量属于类级别的,是描述类的状态的
类创建了会常驻内存空间的公共变量
而方法内的变量当方法调用结束后就会消失

楼上的说得对~~~基本规则

通俗点讲静态就是独立于类的实例而存在的方法或属性,所以他是基于类存在的,而非函数(方法)~~