java同一目录下两个类之间的调用,有错吗? 5

d:\project\java\classTest>typeclassA.javapackageclassTest;//如果把此行注释掉,则OKpublicclasscl... d:\project\java\classTest>type classA.java

package classTest;//如果把此行注释掉,则OK

public class classA{
public static void main(String[] args) {
System.out.println("classA main");
}

public void sayA(){
System.out.println("sayA");
}
}

d:\project\java\classTest>type classB.java

package classTest;//如果把此行注释掉,则OK

public class classB{
public static void main(String[] args) {
System.out.println("classB main");
classA opr = new classA();
opr.sayA();
}

}d:\project\java\classTest>cd ..

d:\project\java>javac classTest/*.java

d:\project\java>cd classTest

d:\project\java\classTest>java classB
错误: 找不到或无法加载主类 classB

d:\project\java\classTest>

一段很简单的代码,同一个目录下一个类B调用另一个类A,如果没有“package classTest”语句则调用OK,如果加上则提示无法加载主类。
可能是一个比较基础的问题,请帮忙看看是什么情况?

去掉package之后的正常调用结果:
d:\project\java\classTest>java classB
classB main
sayA
展开
 我来答
阳光的雷咩咩
2020-07-31 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7618万
展开全部

你可以试试这两种方法呢,代码里保留你的package,

  1. 如果你在classTest下面执行的java命令,用java -cp ../ classB

  2. 如果你在java文件夹下执行命令,用java -cp . classB

更多追问追答
追问
查了一下参数,-cp是目录查找的意思,也试着打包到子目录,也设置给了目录名查找,还是一样的报错。能拿我的代码到本地试一下吗?感谢!
D:\project\java>java -cp . classB

错误: 找不到或无法加载主类 classB
追答
你贴的代码无法编译
你改一下把能编译的版本发出来
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式