JAVA全局变量和局部变量简单介绍
全局变量:也叫成员变量,是指在类中定义的变量,它在整个类中都有效。全局变量又可分为:类变量和实例变量。
1.类变量:又叫静态变量,用static修饰,它可以直接用类名调用 ,也可以用对象调用 , 而且所有对 象的同 一个类变量都是共享同一块内存空间。
例1
代码如下 | 复制代码 |
Tst.java,no main() method 运行结果为: 111111 |
static final变量,必须在声明的时候初始化或者在static静态块里面初始话。
所以你要用程序输入作为他的变量,就必须修改变量类型
你可以写成
代码如下 | 复制代码 |
public class xx |
在外面定义一个xx的静态实例 public static xx xxInstance = new xx("输入的值");
调用的时候,就写xxInstance.PackageName
2.实例变量:不用static修饰, 它只能通过对象调用, 而且所有对象的同一个实例变量是共享不同的内 存空间的。
局部变量:是指那些在方法体中定义的变量以及方法的参数 它只在定义它的方法内有效。
先看下面两段程序:
代码如下 | 复制代码 |
程序一:
|
第一个程序很正常,编译时不会出错。第二个程序编译时会提示如下错误:
D:Programjavatest>javac Variable.java
Variable.java:9: 可能尚未初始化变量 i
if(j==i)
^
1 错误
之所以会出现这样的错误是因为:成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量不会自动赋值
注意:如果某个方法中的局部变量的名字与全局变量的名字相同, 则该全局变量在这个方法中暂时失效。
补充:Jsp教程,Java技巧及代码