上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
谬误20 误入歧途——Java中没有全局变量
全局变量是指不属于任何类型的全局可见的成员变量。按照这个定义来看,Java 中并没有全局变量,因为在Java中,任何数据成员都必须属于某个类型,所有程序集都是由类型组成的。
Java 中没有传统意义上的全局变量,但是这并不代表不能定义一个全局可见的成员,例如,定义一个公共静态变量或静态属性,虽然这个变量或属性必须属于某个类型,并且对该变量或属性的访问也必须通过某个类型来实现,但是这个变量或属性是所有引用该程序集的程序都可以访问的,实际上它还是起到了全局变量的作用,示例代码如下:
public class Test { public static int Count=2; //公共的静态变量 private static String Operator; //私有的静态变量 public static String getOperator() { //获取变量 return Operator; } public static void setOperator(String operator) { //设置静态属性 Operator = operator; } }
在其他的类中,可以通过以下方式访问这些变量,关键代码如下:
public class Manger { //main方法 public static void main (String[] args) { System.out.println("Count的值为:"+Test.Count); //输出信息 Test.setOperator("明日科技"); //设置变量的值 System.out. println ("Operator的值为:"+Test.getOperator()); //输出变量值 } }
运行上述代码后,程序运行的效果如图4.21所示。
图4.21 获取变量值所输出的信息
说明
可以通过以上的方式,使静态变量实现与全局变量相同的作用。