我可以问这三行是做什么的吗?
public static Level level;
level = new Level();
level.render(g); //do the above have anything to do with this?
这也是做什么的
block[x][y].render(g);
这是做什么的:
block[x][y].id = whatever
抱歉这些问题真的很吵,但我是Java的新手
答案 0 :(得分:3)
public static Level level;
level = new Level();
与
相同public static Level level = new Level();
如果你只是考虑声明
public static Level level;
作为静态变量的级别设置为null。(与局部变量不同,所有实例变量和静态变量都分配了默认值。)
level.render(g);
这是调用类Level中定义的函数render()。它在先前存储在变量级别中的Level实例中调用它,并传入参数g。
block[x][y].render(g);
表示你有一个2D数组,它存储类的对象,其中包含函数render()的定义。
block[x][y].id = whatever
表示您获取存储在2D数组中的Object,并将值赋给该Object中定义的变量id。再次,如果您正在定义id的外部类,那么id变量必须在范围内(在这种意义上是public / protected)。