java - 找不到符号

标签 java

如果我的主要方法中有这个: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/

相关文章:

java - TestNG 中的非静态 Webdriver 驱动程序和屏幕截图监听器

java - Spring boot - 由于缺少 EmbeddedServletContainerFactory bean,无法启动 EmbeddedWebApplicationContext

c# - 如何接收UDP并发请求?

java - 画一只蜘蛛

java - 使用此代码 (PHP) 向多个设备发送推送通知

java - 如何使用 Xpath 正确地从 XML 传递对象

java - 是否可以用Java创建一个矩形数组

java - 分析Java线程转储

java - log4j 未初始化 JDBC 驱动程序

java - JFrame 编号输入