Java中靜態變量的適用場景
靜態變量的類型說明符是static。靜態變量當然是屬于靜態存儲方式,但是屬于靜態存儲方式的量不一定就是靜態變量,例如外部變量雖屬于靜態存儲方式,但不一定是靜態變量,必須由 static加以定義后才能成為靜態外部變量,或稱靜態全局變量。
對于自動變量,它屬于動態存儲方式。但是也可以用static定義它為靜態自動變量,或稱靜態局部變量,從而成為靜態存儲方式。由此看來,一個變量可由static進行再說明,并改變其原有的存儲方式。
Java類中的靜態變量在程序運行期間,其內存空間對所有該類的對象實例而言是共享的,有些時候可以認為是全局變量。因此在某些時候為了節省系統內存開銷、共享資源,可以將類中的一些變量聲明為靜態變量,通過下面的例子,你可以發現合理應用靜態變量帶來的好處:
Java代碼
- public class WeekA{
- static class Data {
- private int week;
- private String name;
- Data(int i, String s) {
- week= i;
- name = s;
- }
- }
- Data weeks[] = {
- new Data(1, "Monday"), new Data(2, "Tuesay"), new Data(3, "Wednesday"), new Data(4, "Thursday"), new Data(5, "Friday"), new Data(6, "Saturday"), new Data(7, "Sunday")
- };
- public static void main(String args[]) {
- final int N = 10000;
- WeekA weekinstance;
- for (int i = 1; i <= N; i++){
- weekinstance = new WeekA ();
- }
- }
- }
- public class WeekA{
- static class Data {
- private int week;
- private String name;
- Data(int i, String s) {
- week= i;
- name = s;
- }
- }
- Data weeks[] = {
- new Data(1, "Monday"), new Data(2, "Tuesay"), new Data(3, "Wednesday"), new Data(4, "Thursday"), new Data(5, "Friday"), new Data(6, "Saturday"), new Data(7, "Sunday")
- };
- public static void main(String args[]) {
- final int N = 10000;
- WeekA weekinstance;
- for (int i = 1; i <= N; i++){
- weekinstance = new WeekA ();
- }
- }
- }
希望本文能給你帶來幫助。
【編輯推薦】