1. 在Java中沒有全局變量存在性,因為變量都是封裝在類作用域里面。類于類之間的通信是通過繼承類或者是實現接口和注入依賴(組合)機制。
a) 在面向對象的編程思想中,我們通常把類中的變量稱作為全局變量,而類中的子程序中的變量和函數參數稱之為局部變量。
b) 類中的靜態變量是改變了變量的生命週期,靜態變量的生命週期和類的生命週期一樣。
c) 類中的訪問權限的作用就是改變其中變量的作用域,只有用public修飾的變量或者是方法子程序才能夠在外部文件中訪問。
d) Protected修飾的變量或者是子程序的作用域是延伸的該類的所有子類,而private權限修飾符的作用就是把類的變量作用域限制在類的作用域里面,外部文件是無法訪問類私有的變量。
e) 所以,在面向對象編程中,我們可以把public static final 修飾的變量和C/C++中的全局變量相當。public修飾的變量或者是子程序的作用域範圍可以跨越多個文件,是名副其實全局的。當在一個類中,處於方法棧之外的所有變量都可以稱之為全局變量。以上概念只是程序員編程時,在不同情況對變量是否全局性的一種描述。
f) 局部變量和全局變量的作用域:
i.
2. 單例模式和多例模式的圖示: