htm*_*gh5 3 java variables class
我过长的标题说明了这一切......我希望能够在不创建新对象的情况下从另一个类访问变量.
目前,我知道如何访问另一个类的变量的唯一方法是:
Control control = new Control;
int dirtCount = control.dirtCount;
Run Code Online (Sandbox Code Playgroud)
但是,如果我想在我的污垢对象中访问此变量,我将不得不为每个变量创建一个新的Control对象.这创造了无尽的循环......
如何在不创建新对象的情况下访问变量?
(如果你想看到我的其余代码,我可以发布它.我认为这部分是最相关的:))
Chr*_*ian 12
一种方法是将变量声明为static,这意味着它是一个类变量(它与实例变量不同).从Java Tutorial(强调我的):
它们与类相关联,而不是与任何对象相关联.该类的每个实例共享一个类变量,该变量位于内存中的一个固定位置.任何对象都可以更改类变量的值,但也可以在不创建类实例的情况下操作类变量.
在Control课堂上:
public class Control {
public static int dirCount;
// ...
}
Run Code Online (Sandbox Code Playgroud)
并且您可以在不创建实例的情况下使用它:
int dirCount = Control.dirCount;
Run Code Online (Sandbox Code Playgroud)
注意:
如果您想要该变量,private您可以定义一个staticgetter方法:
public static int getDirCount() {
return dirCount;
}
Run Code Online (Sandbox Code Playgroud)
你可以用这个方法调用
int dirCount = Control.getDirCount();
Run Code Online (Sandbox Code Playgroud)