簡體   English   中英

如何在不創建新對象的情況下從另一個類訪問變量

[英]How to Access Variable from Another Class without Creating New Object

我過長的標題說明了這一切......我希望能夠在不創建新對象的情況下從另一個類訪問變量。

目前,我知道如何訪問另一個類的變量的唯一方法是:

Control control = new Control;

int dirtCount = control.dirtCount;

但是,如果我想在我的污垢對象中訪問此變量,我將不得不為每個變量創建一個新的Control對象。 這創造了無盡的循環......

如何在不創建新對象的情況下訪問變量?

(如果你想看到我的其余代碼,我可以發布它。我認為這部分是最相關的:))

一種方法是將變量聲明為static ,這意味着它是一個類變量 (它與實例變量不同)。 Java Tutorial (強調我的):

它們與類相關聯,而不是與任何對象相關聯。 該類的每個實例共享一個類變量,該變量位於內存中的一個固定位置。 任何對象都可以更改類變量的值,但也可以在不創建類實例的情況下操作類變量

Control類中:

public class Control {
    public static int dirCount;
    // ...
}

並且您可以在不創建實例的情況下使用它:

int dirCount = Control.dirCount;

注意:

如果您希望該變量是private ,則可以定義static getter方法:

public static int getDirCount() {
    return dirCount;
}

你可以用這個方法調用

int dirCount = Control.getDirCount();

在java中,類可以有兩種類型的成員變量

1)實例變量 - 它們是用該類的每個對象創建的,並且可以由該類的對象訪問。

2)類變量 - 它們屬於類意味着每個對象可以共享同一個變量,並且可以通過類名訪問

java中的成員變量

暫無
暫無

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

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