如果我在文件夹中创建类文件:Menu、Game 和 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");
}
}
//菜单.java
package app;
public class Menu extends GameObject {
@Override
public void draw(){
System.out.println("Menu");
}
}
但是,如果我将这些文件移动到应用程序包中名为“game”的包中,然后将包语句更改为“package app.game;”,则代码将无法编译。
我的问题是 - 为什么?如果这些类包含在自己的包中,我是否需要以某种方式显式引用这些类?任何帮助或解释将不胜感激。我的猜测是,这与 VS Code 编译 Java 的方式有关。