如何在cmd行中运行java类文件
我的两门课是这样的:如何在cmd行中运行java类文件,java,compilation,command,javac,Java,Compilation,Command,Javac,我的两门课是这样的: package p; class A{ public static void main(String[] args){ B b = new B("haha"); b.run(); //System.out.println("he"); } } 及 我无法使用javac a.java b.java编译这两个文件,错误是: a、 java:4:找不到符号 符号:B类 地点:p.A级 B=新的B(“哈哈”) ^ a、 java:4:找不到符号 符
package p;
class A{
public static void main(String[] args){
B b = new B("haha");
b.run();
//System.out.println("he");
}
}
及
我无法使用javac a.java b.java
编译这两个文件,错误是:
a、 java:4:找不到符号符号:B类 地点:p.A级
B=新的B(“哈哈”)
^
a、 java:4:找不到符号
符号:B类
地点:p.A级
B=新的B(“哈哈”)
^
2个错误 移除
包装p后代码>,javaca.javab.java
运行良好
那么,如何使用包p编译和运行类A代码>
=======编辑===========
感谢您的回复,最后我通过如下更改文件来运行我的类:
package p;
class A{
public static void main(String[] args){
B b = new B("haha");
b.run();
//System.out.println("he");
}
}
.
├── b
│ ├── B.class
│ └── B.java
└── p
├── A.class
└── a、 爪哇
和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时应导入B
将此行添加到您的A类代码中:
import b.B;
它应该是包声明之后的下一行代码。将这一行添加到您的A类代码中:
import b.B;
它应该是包声明之后的下一行代码。您需要导入类型
import b.B;
在执行java类时
转到目录a
做
java a.A
见
您需要导入类型
import b.B;
在执行java类时
转到目录a
做
java a.A
见
通过导入b.b
或者将两个文件放在同一个文件夹(p)中,并删除包b代码>表单类B
它将被编译。通过导入B.B导入其他类
或者将两个文件放在同一个文件夹(p)中,并删除包b代码>表单类B
它将被编译。下面的代码将起作用
//B.java
package b;
public class B{
String s;
public B(String s){
this.s = s;
}
public void run(){
System.out.println(s);
}
}
//A.java
package p;
import b.B;
class A{
public static void main(String[] args){
B b = new B("haha");
b.run();
}
}
运行“javap.A”下面的代码可以工作
//B.java
package b;
public class B{
String s;
public B(String s){
this.s = s;
}
public void run(){
System.out.println(s);
}
}
//A.java
package p;
import b.B;
class A{
public static void main(String[] args){
B b = new B("haha");
b.run();
}
}
运行“java p.A”是否在类A中导入了包b?是否在类A中导入了包b?