我无法使用 vscode 将一个文件的 class 导入到 Java 中子文件夹中的另一个文件

I cannot import class of one file to another in a subfolder in Java using vscode

如何在子文件夹的不同目录中导入 class?

我是 Java 编程语言的新手,我想通过导入他们的包在其他目录中使用 class,但我做不到!!

我有一辆class叫车。

package ir.tclas.clasor.models;

public class Car {
private String Models;
private String Name;
private String Color;
private Integer weigth;


public void setWeigth(Integer weigth) {
    if (weigth > 50)
        this.weigth = 45;
    else {
        this.weigth = weigth;
    }

}

public String getModels() {
    if (Models == null)
        Models = "NO_Name";
    return Models;
}


  public void horn() {
  System.out.println("Beeeeeep!!!");
  }
}

现在我想从 MainApp 导入汽车

  package ir.tclas.clasor;

  import ir.tclas.clasor.models.Car;

  public class MainApp {
  public static void main(String[] args) {

    Car bmw = new Car();

    bmw.setName("BMW");
    bmw.setColor("Blue");
    bmw.setWeigth(55);

    bmw.horn();
    System.out.println(bmw.getName());
    System.out.println(bmw.getModels());
    System.out.println(bmw.getColor());
    System.out.println(bmw.getWeigth());
 }
}

这是我在 运行 我的代码之后的输出:

 PS E:\java_pj[=15=]1\demo> cd 
 "e:\java_pj[=15=]1\demo\src\main\java\ir\tclas\clasor\" ; if ($?) { 
 javac MainApp.java } ; if ($?) { java MainApp.java }
 MainApp.java:4: error: package ir.tclas.clasor.models does not exist
 import ir.tclas.clasor.models.Car;
                         ^    
 MainApp.java:9: error: cannot find symbol
    Car bmw = new Car();
    ^
 symbol:   class Car
 location: class MainApp
 MainApp.java:9: error: cannot find symbol
    Car bmw = new Car();
                  ^
 symbol:   class Car
 location: class MainApp
 3 errors

 PS E:\java_pj[=15=]1\demo\src\main\java\ir\tclas\clasor>

谁能告诉我怎么做?

Code Runner 在编译 .java 文件时不包含包,这就是发生错误的原因,您应该手动更改 Settings.json:

中的命令
"code-runner.executorMap": {
    "java": "cd e:/java_pj/001/demo/src/main/java && javac ir/tclas/clasor/models/Car.java && javac ir/tclas/clasor/$fileName && java ir/tclas/clasor/$fileNameWithoutExt",       
}

或者您可以通过 Java Extension 直接禁用扩展 Code Runner 和 运行 您的项目。在 Car.java 中添加 getter 和 setter 后,您的代码运行良好,没有显示任何错误: