gpt4 book ai didi

java - 为什么我不能调用非静态变量?

转载 作者:行者123 更新时间:2023-12-01 19:07:29 24 4
gpt4 key购买 nike

Eclipse 说我无法对非静态字段 Art.instance 进行静态引用。为什么它认为我从静态上下文中调用 Art.instance?

TDRenderer 本身被这样调用:

renderer = new TDRenderer();

TDRenderer.java:

package towerDefense;

import java.awt.Graphics;
import java.awt.Image;

public class TDRenderer {

public Art art;

public TDRenderer()
{
art = Art.instance;
}

public void render(Graphics g)
{
for(int i = 0; i < 32; i++)
{
for(int j = 0; j < 24; j++)
{
Image itd = (Image)(art.sprites[art.level1.tiles[i][j].type]);
g.drawImage(itd, itd.getWidth(null), itd.getHeight(null), null);
}
}
}
}

最佳答案

这并不是说您处于静态环境中;而是处于静态环境中。这是 instance 不是 Art 的静态字段,但将其引用为 Art.instance 意味着您尝试使用它,就好像它一样是静态的。

关于java - 为什么我不能调用非静态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9525252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com