如果我的主要方法中有这个:PrintWriter output = new PrintWriter(new FileWriter(args[1]));
这在另一种方法中:output.println(currentLine);
和import java.io.*;
显然,
有谁知道我为什么会这样
cannot find symbol
symbol : variable output
location: class TestClass
output.println(currentLine);
最佳答案
编译器告诉您名称(符号)output
未在您要使用它的范围(和封闭范围)中定义。根据定义
PrintWriter output = new PrintWriter(new FileWriter(args[1]));
您似乎在 main()
函数中定义了 output
,但想在类 TestClass
中使用它,这是无效的因为 output
仅在 main()
假设 main()
是在 TestClass
中定义的,您可以在类中定义 output
,然后在 main( )
并稍后在类中使用它:
public class TestClass {
PrintWriter output;
public void write(String currentLine) {
output.println(currentLine);
}
public static void main(String[] args) {
TestClass tc = new TestClass();
tc.output = new PrintWriter(new FileWriter(args[1]));
tc.write("Sometext");
}
}
关于java - 找不到符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10349426/