Java全局變量

全局變量:Java程序中,不能在全部類以外定義全局變量,只能經過在一個類中定義公用、靜態的變量來實現一個全局變量。例如:ClassGlobalVar{public static global_var;}在類GlobalVar中定義變量global_var爲public static,使得其它類能夠訪問和修改該變量。Java對全局變量進行了更好的封裝。而在C和C++中,依賴於不加封裝的全局變量經常形成系統的崩潰。安全

  全局變量是類中的成員變量,存放在堆區。函數

作一個類用靜態屬性保存它:spa

public class Global{
  public static int status;
}

//調用:
if(isSuccess)    Global.status = 1;
else             Global.status = -1;
//定義一個公開類,在裏面加static 變量。
public class infos{
  private infos(){
  }
   public static int PORT = 80;
   public static String IP = "166.111.166.111";
   public static boolean test = true;
   public static finale String MYNAME="zzz"; //定義中用了finale,就是不能改變指的。
}

在別的class中調用這些變量就是: infos.PORT,infos.IP,infos.test,infos.MYNAME
多個class交互時能夠經過改變這些變量的值來傳遞信息。好比 infos.test被別的class改爲了false,可能表示某一件事已經失敗或已經作過,其它class就能夠提早知道這些信息。code

最好不要使用全局變量。blog

 

另外原型

1.頭文件:C、C++中用頭文件來聲明類的原型以及全局變量、庫函數等,在大的系統中,維護這些頭文件是很困難的。而Java不支持頭文件,類成員的類型和訪問權限都封裝在一個類中,運行時系統對訪問進行控制,防止對私有成員的操做。同時,Java中用import語句來與其它類進行通信,以便使用它們的方法。class

2.結構和聯合:C、C++中的結構和聯合中全部成員均爲公有,這就帶來了安全性問題。Java中不包含結構和聯合,全部的內容都封裝在類中。test

3.預處理:C、C++中用宏定義來實現的代碼給程序的可讀性帶來了困難。在Java中,不支持宏,它經過關鍵字final來聲明一個常量,以實現宏定義中普遍使用的常量定義。import

相關文章
相關標籤/搜索