Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-无法对非静态方法进行静态引用;“什么?”;从“类型”开始;“什么?”;_Java_Static_Non Static - Fatal编程技术网

Java-无法对非静态方法进行静态引用;“什么?”;从“类型”开始;“什么?”;

Java-无法对非静态方法进行静态引用;“什么?”;从“类型”开始;“什么?”;,java,static,non-static,Java,Static,Non Static,所以我继续,像往常一样开始创作游戏。除了这次我犯了一个错误O.O.我试图找到一个答案,但不是我认为在这里我可以得到一个好的答案!错误如下: 说明资源路径位置类型 无法静态引用非静态字段image Game.java/POGA/src/packagehere第71行java问题 说明资源路径位置类型 无法从类型Canvas Game.java/POGA/src/packagehere第66行java问题中静态引用非静态方法createBufferStrategy(int) 我得到了更多这样的类型,

所以我继续,像往常一样开始创作游戏。除了这次我犯了一个错误O.O.我试图找到一个答案,但不是我认为在这里我可以得到一个好的答案!错误如下:

说明资源路径位置类型 无法静态引用非静态字段image Game.java/POGA/src/packagehere第71行java问题

说明资源路径位置类型 无法从类型Canvas Game.java/POGA/src/packagehere第66行java问题中静态引用非静态方法createBufferStrategy(int)

我得到了更多这样的类型,但我想如果你告诉我和观众这个问题如何修复这些错误,我们将能够修复其余的“相同”错误


在哪里声明了
getBufferStrategy()
createBufferStrategy()
? (答:在扩展的类型
画布中

它们是非静态方法,您无法从
render()
方法中访问它们,因为该方法是静态的

您可以从静态和非静态方法中访问静态方法。
您只能从非静态方法访问非静态方法。

问题在下面一行

g.drawImage(image, 0, 0, getWidth(), getHeight(), null);
第二步,你在调用什么对象
getWidth()
getHeight()
方法?

我想您需要获得
画布的宽度和高度

要解决此问题,请从
render()
方法中删除
static


可能重复为什么有这么多东西标记为“静态”?这看起来不对。如果您想说
Game Game=new Game()
,然后在
Game
上调用方法,请不要使用static。错误消息会说明一切。。。不能从静态块/方法引用非静态字段。如果静态修饰符包含在字段或方法声明中,则不需要使用该类的实例。字段或方法与类关联,而不是与单个对象关联。另外,请看一看最有可能的
render()不应该*是
static`.@potatoling请回答
在render方法中调用getWidth()方法的对象是什么?
@Braj是的,因为这是错误:
不能静态引用非静态方法createBufferStrategy(int)
(第一个问题是修辞性的)
g.drawImage(image, 0, 0, getWidth(), getHeight(), null);