在静态方法JAVA中使用非静态变量

所以我正在编写一个非常大的java代码,在这段代码中我希望它以特定的文件格式输出文件。 在这个例子中,它将是一个简单的.txt文件。

我输出的数据是一系列坐标,这些坐标使用在此代码部分之前由用户确定的角度进行旋转。

编写文件的代码显然是一个静态方法,但我调用的角度是一个非静态变量…如何调用它并让它工作?

基本上,您必须将包含非静态变量的对象的实例传递给静态函数并在那里访问它。

这看起来像这样:

public class ObjectToBeWritten { private int nonStaticVariable; public ObjectToBeWritten() { // ... } public int getNonStaticVariable() { return nonStaticVariable; } public static void outputToTxt(ObjectToBeWritten object) { nonStaticVariable = object.getNonStaticVariable(); // ... } } 

然后,您只需使用包含非静态变量的对象调用ObjectToBeWritten.outputToTxt(object)

非静态意味着它属于某个类实例(对象)。 因此,将此对象传递给静态方法和/或在其中创建这些对象。

你应该知道非静态方法属于Object,但静态方法属于Class。因此getNonStaticVariables方法和nonStaticVariable应该是静态的,或者将outputToTxt更改为非静态方法。