全局变量+静态全局变量+局部变量+简单类型数据传值调用演示
全局变量
**定义:**在类里定义的变量,就是全局变量,该类所有方法都可以使用
**
静态全局变量(类变量)
**
语法:static [类型] [变量名];
§ 定义位置:类的内部,方法外部;
§ 开辟时间:一加载含有静态全局变量的类,就开辟空间;
§ 开辟空间位置:方法区的静态数据区,自动与类关联;
§ 开辟次数:只开辟一次(因为类只加载一次);
§ 默认初始化;
§ 作用范围:该类里所有的对象(所有方法也可以)使用;(Java当中作用范围最大的变量);
§ 生存周期:与类相同,与整个程序相同,生存周期特别长,但浪费空间,内存效率低;
§ 开辟方法:开辟空间,初始化,关联;
§ 该类所有对象共享§ 优点: 作用范围大□
§ 缺点: 增加该类所有对象的耦合性,尽量少用(单例使用)□ 如:假设有1000个对象都有静态全局变量的引用,只要有一个对象改变了静态全局变量引用的值,剩下999个对象都会受 到影响。
代码示例:
class GlobalVar {
static int i;// 静态全局变量(类变量)
double k;// 实例全局变量(成员变量或属性) //k=12.0;
public int methodA() {
return this.i;
}
public double methodB() {
return this.k;
}
}
public class TestGlobalVar {
// static int c;
public static void main(String[] args) { // 可以不实例化GlobalVar就可以使用全局类变量
GlobalVar.i = 100;
System.out.println(GlobalVar.i);// 100
System.out.println(k); // 必须实例化Glo