2013-10-30 31 views
-2

使用非静态变量所以我写一个非常大的Java代码,这个代码,我希望它的输出文件内以特定的文件格式。在这种情况下,它将成为一个简单的.txt文件。在静态方法JAVA

我输出的数据是一系列坐标,这些坐标已经使用由在此之前的代码段的用户确定的角度发生了转动。

写入文件中的代码显然是一个静态方法,但我打电话的角度是一个非静态变量...我怎么叫这一点,并得到它的工作?

+1

充分利用静态变量,或使类的变量是的一个实例。此外,它可能是不好的设计首先要实现这样的方法静态的,而是哎... – Sinkingpoint

回答

2

基本上你必须通过包含对静态函数非静态变量的对象的实例,有访问它。

这将是这个样子:

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)与包含非静态变量的对象。

0

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

0

你应该知道非静态方法属于对象,但静态方法属于Class.Therefore的getNonStaticVariables方法和nonStaticVariable应该是静态的或改变outputToTxt非静态。