靜態變量,也稱為全局變量,是與類的特定實例無關的數據段。無論創建了多少個類對象,這些變量只能存在一個值。根據上下文的不同,靜態變量可以比其實例更靈活,也可以更具限制性變量對應項,對于類類型的每個特定對象都有自己的...
靜態變量,也稱為全局變量,是與類的特定實例無關的數據段。無論創建了多少個類對象,這些變量只能存在一個值。根據上下文的不同,靜態變量可以比其實例更靈活,也可以更具限制性變量對應項,對于類類型的每個特定對象都有自己的離散值。在面向對象編程語言中,良好的編程實踐通常要求將靜態對象、方法或變量的使用保持在最低限度,但它們確實有有用的應用。在面向對象編程語言中,良好的編程實踐通常要求將靜態對象、方法或變量的使用保持在最低限度,但它們確實有一些有用的應用。靜態變量有時被認為是限制性的一個主要原因是,一個變量不能存在多個值。對變量的任何賦值都會覆蓋前一個值,并且前一個值中的任何信息都會丟失。如果沒有變量的多個副本,則會有多個數據無法存儲值。如果更改了該值,則它影響的每個對象都必須使用新值運行,如果不打算刪除舊值,則更改可能會對特定類類型的每個實例對象有害。除非變量在創建時以某種方式鎖定,意外更改的風險及其對對象造成的后續破壞使一些程序員盡可能避免使用靜態變量。靜態變量有時被認為是靈活的,原因與它們被稱為限制性變量的原因相同。即使變量的值未被鎖定,有計劃地改變它的價值可以產生積極的影響在一個類的所有對象之間共享的變量保證是一致的,并且可以在類內部和外部使用,因為它的值總是相同的,尤其是在常量的維護和序列化的實現上,Java特別依賴于這種靜態序列化機制。程序員在實現靜態變量時經常使用某些通用規則。這些變量通常作為小數據值工作,因為大型靜態對象可以使程序比它必須嚴格得多。小數據值可以快速而容易地更改,而不必太擔心引入錯誤。大型靜態對象需要花費更多的時間和精力來更改,而且更容易引入會破壞所有類對象的錯誤。這些是指導原則,而不是牢不可破的規則可用于小變量和大變量,具體取決于程序
-
發表于 2020-08-06 09:15
- 閱讀 ( 814 )
- 分類:電腦網絡