我有文件句柄類:的Java:類之間發送變量
public class FileHandle {
public static String a;
public static String b;
public static String c;
public void openFile() throws FileNotFoundException {
File dir = new File("C:/Folder/DB");
if (dir.isDirectory()) {
for (File file : dir.listFiles()) {
Scanner s = new Scanner(file);
//String f = file.getName();
// System.out.println("File name:" + f);
while (s.hasNext()) {
a = s.next();
b = s.next();
c = s.next();
System.out.printf("%s\n %s\n %s\n", a,b,c);
}
}
}
和常量類:
public class Constants {
FileHandle h = new FileHandle();
public static final String[] LIST_DATA = {FileHandle.a,FileHandle.b,FileHandle.c};
public static final int NEW_ELEMENT_ID = 0;
}
主要的問題:爲什麼在我的常量類我只得到最後掃描的文檔信息。順便提一下,要提到FileHandle類掃描儀工作正常,一切都很好。唯一真正的困難是將變量發送到Constants類,正如我所提到的,我只獲取最後掃描的文檔信息。
你需要做'了''B'和'C'非靜態。一般來說,你應該非常謹慎地使用非最終靜態變量。 –
但是,如果我不讓他們靜態我會能夠讓他們在常量類? – TheDude
如果你讓'h'靜態,你可以。但目前尚不清楚你的期望是什麼:你一再覆蓋相同的變量。 –