非静态变量不能从静态上下文错误中引用

时间:2013-04-17 04:48:57

标签: java

public static void main(String[] args) {

Scanner input = new Scanner(System.in);
System.out.println("Enter expression: ");
String exp = input.nextLine().trim();

ExpressionTree exptree = new ExpressionTree1(); //new instance of ExpressionTree
TreeNode root = new TreeNode();
root = exptree.parseOutsideExpression(exp);
int evaluate = exptree.Compute(root);
String answer = Integer.toString(evaluate);
System.out.println("The evaluated expression is:" + answer);

}

class ExpressionTree{

我看了几个例子,我注意到一个常见的答案是在main()中创建一个你的对象的新实例,但我仍然得到同样的错误,我不清楚为什么

1 个答案:

答案 0 :(得分:0)

如果ExpressionTree是使用main()方法的同一类的内部类,可能问题在于它不是静态的。非静态内部类只能在非静态代码中实例化...请参阅:

  

Java inner class and static nested class