在命令行中从不同的包访问类

时间:2016-06-09 06:51:19

标签: java class package core access

我在C:\ Users \ Documents文件夹中创建了两个文件夹。我将文件夹命名为A和B.在文件夹A中,我写了下面的java类。

package A;

public class Food {
int a =6;
public int c = 10;
}

在文件夹B中,我写了下面的课程,

package B;
import A.*;

public class Car {
 public static void main(String[] args) {
     Food food = new Food();
     System.out.println(food.c);         

 }
}

我能够从文件夹A中编译类Food。但是当我尝试从文件夹B中编译类Car时,我遇到了编译错误。如何解决这个问题?

Car.java:2: error: package A does not exist
import A.*;
^
Car.java:6: error: cannot find symbol
     Food food = new Food();
     ^
symbol:   class Food
location: class Car
Car.java:6: error: cannot find symbol
     Food food = new Food();
                 ^
symbol:   class Food
location: class Car
3 errors

1 个答案:

答案 0 :(得分:0)

您应该在Documents文件夹中访问套餐A& B在编译Car类时。

你的编译语句必须是

javac -cp . B/Car.java

注意:我把classpath作为当前目录(。)考虑.class文件在它下面。

要运行类Car,请使用以下命令。

java -cp . B.Car

在使用main()运行Class时,您需要提供类名的完整限定路径,即packagename.className