我的 2 节课是这样的:
package p;
class A{
public static void main(String[] args){
B b = new B("haha");
b.run();
//System.out.println("he");
}
}
和
package b;
class B{
String s;
public B(String s){
this.s = s;
}
public void run(){
System.out.println(s);
}
}
我无法使用 编译这两个文件javac a.java b.java
,错误是:
a.java:4: 找不到符号
符号:B 类位置:类 pA
B b = new B("haha");
^
a.java:4: 找不到符号
symbol : class B
location: class pA
B b = new B("haha");
^
2 个错误
而删除后package p;
,javac a.java b.java
运行良好。
那么,如何使用 编译和运行 A 类package p;
?
======编辑=======
感谢您的所有回复,最后我通过更改我的文件来运行我的课程:
.
├── b
│ ├── B.class
│ └── B.java
└── p
├── A.class
└── a.java
和a.java:
package p;
import b.B;
class A{
public static void main(String[] args){
B b = new B("haha");
b.run();
//System.out.println("he");
}
}
B.java:
package b;
public class B{
String s;
public B(String s){
this.s = s;
}
public void run(){
System.out.println(s);
}
}
需要注意的事项:
- B类必须是公开的
- 尝试在 A 类中使用时应导入 B