貌似Java里面static不能修饰局部变量

如题所述

是的。static是说明这个东西是属于整个类的
而局部变量的作用域只能在他所属的{}之内。不可能是属于类或对象的。
所以矛盾,故static不能修饰局部变量

public class Test {
public static int a=1;//成员变量,允许
public static void main(String[] args) {
static int b=1;//错误
}

}来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-20
15、在Java语言中,final修饰的方法有什么特点?被修改的方法为最终方法不能9、static char ghi=’A’中的变量是实例变量、类变量还是局部变量?类变量
第2个回答  2010-09-20
肯定啦,被static修饰过的变量都成全局了,不能修饰局部的
第3个回答  2019-04-11
人为规定的,记住就好。

java方法中用static修饰变量为什么会出错?
static是用来修饰类成员的啊,不能用来修饰局部变量。static意为静态修饰符,也就是说一个类在编译的时候,这个类中用static修饰的变量就已经存在了,而public int m(){}是在类实例化的时候才会有的。如果将static放入public int m(){} 方法中,就得出结论:static int i存在了, public int m()...

java中什么是静态对象?
静态对象就是在代码编译前就已经存在于内存中的对象,所以不需要new,并且可以直接用类名调用。所以Static只能修饰类的成员变量和方法,不能修饰方法内的局部变量。另外不能被继承,因为它仅仅属于某个类,但不时其对象。

请问java中static的作用
用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象市,不生成static变量的副本,而是类的所有实例共享同一个static变量。 static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用--废话),但是不能在其他类中...

在Java中,为什么类变量不能是局部变量?
由于Java是面向对象语言,所有变量都是类成员,所以Java只有局部变量,没有全局变量。同样地,在C++、C#、Ruby这些面向对象语言中,一般也只使用局部变量。面向对象编程是现在普遍采用的软件开发方法,因此现在已无需考虑是局部还是全局变量,说到变量,往往都是局部变量。

JAVA中成员变量、局部变量、实例变量、类变量之间有什么关系?
java易混淆概念之类变量、实例变量、局部变量类变量、实例变量、局部变量类变量是类中独立于方法之外的变量,用static 修饰。实例变量也是类中独立于方法之外的变量,不过没有static修饰。局部变量是类的方法中的变量。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多...

java什么是成员变量和局部变量
1)、成员变量:包括实例变量和类变量,用static修饰的是类变量,不用static修饰的是实例变量,所有类的成员变量可以通过this来引用。2)、局部变量:包括形参,方法局部变量,代码块局部变量,存在于方法的参数列表和方法定义中以及代码块中。2、成员变量可以被public,protect,private,static等修饰符修饰,...

final,static,const在使用上有什么区别?
static所修饰的方法和字段只属于类,所有对象共享,java不能直接定义全局变量,是通过static来实现的。java中没有const,不能直接定义常量,是通过static final组合来实现的。C#中readonly、const readonly、const是c#中的两种常量 readonly:为运行时常量,程序运行时进行赋值,赋值完成后便无法更改,也称为...

java 参数 变量区别 是什么?
int try(int x)中的int x就是参数。而变量呢,就是在java中的基本存储单元。举个例子,就是:int b=4;在java中的某个内存中存储一个变量名为b的值为4的地址块。这个地址块就是变量。它的值可以发生改变。

java中什么时候该用static修饰方法?有什么好处或者坏处?
当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static。用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用 比如 person这个类里面有一个方法public static add(){} 那么可以直接用person类调用 person.add();当然也可以用下面的方法先出一个对象在...

JAVA 中的关键字static
自动变量一般会随着函数的退出而释放空间,静态数据(即使是函数内部的静态局部变量)也存放在全局数据区。全局数据区的数据并不会因为函数的退出而释放空间。细心的读者可能会发现,Example 1中的代码中将 static int n; \/\/定义静态全局变量 改为 int n; \/\/定义全局变量 程序照样正常运行。 的确,定义全局变量就可以...

相似回答