Java - 在方法调用中创建对象

时间:2016-03-21 18:32:34

标签: java object static javac

我很确定我以前做过这个,所以我不确定为什么它现在会导致错误。这是我得到的错误:

$ javac Zombie.java
Zombie.java:51: error: non-static variable this cannot be referenced from a static context
            array.add(new Point(p.d0-1, p.d1));
                      ^

它指向我定义新对象的位置,所以在静态上下文中,我不允许在方法调用中执行此操作吗?我是否需要定义变量并将其传入?因为这需要更多的时间,而且更加混乱......

正确的背景:

  • 数组的类型为ArrayList
  • Point是我定义的类。正确调用构造函数。
  • p是Point的一个实例。它有两个字段:d0和d1(维度0和维度1,以减轻与X和Y的混淆)。

1 个答案:

答案 0 :(得分:0)

如果嵌套类在非嵌套类中的静态上下文中使用,则需要声明嵌套类public和static。我这样做了,不再有这个错误。