我正在尝试在 Netbeans 中编译这个程序:Lab1.java
我得到这个错误......
BF.java:27:非静态变量 this 不能从静态上下文中引用 return new Program(new BF().doParse(str));
我什么都试过了!
我正在尝试在 Netbeans 中编译这个程序:Lab1.java
我得到这个错误......
BF.java:27:非静态变量 this 不能从静态上下文中引用 return new Program(new BF().doParse(str));
我什么都试过了!
您的 Program 内部类未声明为静态的。这意味着 Program 实例只能存在于外部 BF 类的封闭实例中。如果您希望 Program 类独立存在,以便您可以编写new BF.Program()
,则必须声明它static
。
在您的程序中,您在静态上下文中的 main 方法中创建了一个新的 Program 实例,而没有封闭的 BF 实例,这是非法的。只需将静态添加到程序类声明中。
将第 171 行从:
class Program implements Node
对此:
static class Program implements Node