2010-04-17 62 views
0

我有一個類與領域的以下聲明:爲什麼在一個方法中看不到「私有靜態」?

public class Game { 
private static String outputFileName; 
.... 
} 

我在類的main方法設置的outputFileName的值。

我還具有其中使用outputFileName類一個write方法。我一直呼籲outputFileNamewritemain套價值。但write仍然沒有看到outputFileName的價值。它說這等於null

有誰,認罪,告訴我,我做錯了什麼?

ADDED 因爲它要求我發佈更多的代碼:

在主:

String outputFileName = userName + "_" + year + "_" + month + "_" + day + "_" + hour + "_" + minute + "_" + second + "_" + millis + ".txt"; 
    f=new File(outputFileName); 
     if(!f.exists()){ 
     try { 
      f.createNewFile(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    }    
    System.out.println("IN THE MAIN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); 
    System.out.println("------>" + outputFileName + "<------"); 

此行輸出我的文件的名稱。

比在write我:

public static void write(String output) { 
    // Open a file for appending. 
    System.out.println("==========>" + outputFileName + "<============"); 
     ...... 
} 

並將其輸出爲空。

+0

應該做工精細,你可以發佈更多的代碼嗎? – oedo 2010-04-17 09:14:07

+1

我想如果你發佈完整的代碼會更容易。將其修剪至顯示您的問題的最小文件。 – 2010-04-17 09:15:04

回答

3

好像你有一個局部變量或對您main第一行代碼具有相同的名稱

+0

你說得對。我需要在'main'方法的outputFileName之前移除'String'。謝謝! – Roman 2010-04-17 09:21:30

3

參數

String outputFileName = ... 

需求是

outputFileName = ... 

否則你」重新做一個新的,局部的,VAR稱爲outputFileName和private static一個不接觸的機會。

相關問題