【问题标题】:Java static errorJava 静态错误
【发布时间】:2011-09-04 13:07:59
【问题描述】:

我正在尝试在 Netbeans 中编译这个程序:Lab1.java

我得到了这个错误...

BF.java:27:非静态变量 this 不能从静态上下文中引用 return new Program(new BF().doParse(str));

我什么都试过了!

【问题讨论】:

  • 请将相关代码 sn-ps 复制/粘贴到您的问题中。如果这是关于作业的问题,请务必使用“作业”标签。
  • BTW:如果你想实际编译这个程序,这个文件不能被称为Lab1.java。它必须被称为BF.java

标签: java static static-methods static-class


【解决方案1】:
【解决方案2】:

您的 Program 内部类未声明为静态的。这意味着 Program 实例只能存在于外部 BF 类的封闭实例中。如果您希望 Program 类独立存在,以便您可以编写 new BF.Program(),则必须将其声明为 static

在您的程序中,您在静态上下文中的 main 方法中创建了一个新的 Program 实例,而没有封闭的 BF 实例,这是非法的。只需在程序类声明中添加静态即可。

【讨论】:

    【解决方案3】:

    将第 171 行从:

    class Program implements Node
    

    到这里:

    static class Program implements Node
    

    【讨论】:

      猜你喜欢
      • 2014-05-18
      • 2023-03-03
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多