簡體   English   中英

java中變量的命名實踐。 為什么類變量不是包變量

[英]naming practice of variables in java. why class variable not package variable

我只是好奇為什么類變量(即帶有static關鍵字的變量)被稱為類變量而不是包變量。 我的意思是如果我在一個類中聲明一個靜態變量,我可以從同一個包中的另一個類訪問這個變量,只要它不是私有的。

此外,實例變量在類中聲明,該類中的方法可以訪問實例變量,為什么不將它們命名為類變量......我只是不明白。

類基本上是用於創建實例(對象)的框架或藍圖。 靜態變量和方法是在框架內定義的,並在類加載器加載類時創建,因此無需為它們創建實例即可存在。 這就是為什么它們是類變量。 它們不是包變量,因為它們專門屬於那個類。 也就是說,您可以通過調用 MyClass.myVariable 來訪問它們。

實例變量僅在類的實例(即通過調用 new() 創建對象)時才存在,並且它們特定於該對象而不是特定於類。 實例變量的計數與創建該類的對象的數量一樣多,而靜態類變量始終只有一個計數。 這就是為什么它們被稱為實例變量,因為它們特定於實例而不是類。

它被稱為類變量,因為它在一個類中。 在命名約定中,可見性無關緊要。 非靜態變量是實例變量,因為它在類的實例之間可能不同。 方法在該類的所有實例中始終相同。

因為包由一組一起工作的類組成,而類是構成實現中對象的抽象。 您不能讓變量純粹作為包變量存在,因為它不會給出“擁有”變量的類的上下文。 另外,它只是糟糕的面向對象編程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM