当我在VS Code中使用Java时,我有一个小错误。当您使用VS Code扩展名创建项目时,它会创建带有bin和src的文件结构,并且在src文件夹中有一个名为app的程序包。
如果我在以下目录中创建类文件,则一切正常:菜单,游戏和游戏对象,因此:
// GameObject.java
package app;
public abstract class GameObject {
public abstract void draw();
public static void main(String[] args){
Player player = new Player();
player.draw();
}
}
// Player.java
package app;
public class Player extends GameObject {
@Override
public void draw(){
System.out.println("Player");
}
}
// Menu.java
package app;
public class Menu extends GameObject {
@Override
public void draw(){
System.out.println("Menu");
}
}
但是,如果我将这些文件移动到应用程序包中的一个名为“游戏”的程序包中,然后将程序包语句更改为“ package app.game;”,则代码不会编译。
我的问题是-为什么?如果它们包含在它们自己的包中,我是否需要以某种方式显式引用这些类?任何帮助或解释将不胜感激。我的猜测是,这与VS Code编译Java的方式有关。