1

我有一个名为“Quad”的自定义类,它创建一个带纹理的四边形,用作我的 2D OpenGL ES 2.0 游戏中的精灵。

public class Quad(){

//Quad creation stuff here

}

然后我有一个单独的子类(即在不同的文件中 - 不是内部类)

public class hero extends Quad(){

//Variables relating specifically to this character
int heroX = 0;
int heroY = 0;

}

我像这样创建我的对象:

Quad hero = new Hero();

但是,如果我尝试访问“heroX”和“heroY”变量,我什么也得不到......

所以我会尝试

hero.heroX

但上面没有选择这个变量。

它会。但是,找到位于我的 Quad 类中的变量。但我会认为通过将我的 Quad 类扩展到我的 Hero 类,它们将可以通过我的对象使用。

有人可以解释一下我的想法哪里出了问题以及如何访问这两个变量吗?谢谢

4

1 回答 1

1

您的变量hero是类型Quad,而不是类型Hero,因此编译器只知道它是一个Quad. 如果您想访问Hero方法,请使用特定的子类型。

于 2013-04-28T20:26:30.857 回答