Java 命令行执行 .class 文件时提示找不到或无法加载主类的解决方法

问题的解决方式非常简单
以至于稍微动动脑子就能想明白
而我就是脑子不转弯儿
硬是让这个问题困扰了我大半年
这么菜还学编程.jpg
先说解决方案吧,很简单:
去掉文件的后缀名
去掉文件的后缀名
去掉文件的后缀名

猜猜为什么?
提示 1:javac -d 能将 .java 文件编译到 package 指定的目录下

提示 2:Java 的包名是 xxx.xxx 的格式

揭晓答案
∵ Java 的包名是 x.x 的格式,
∴ Javac 在编译的时候会将 package 指定的包名转换成 x\x 的目录结构。
∴ 可以推测 Java 执行的时候也需要严格的指定包名才能运行
∴ Java xx.class 会被识别成执行 xx 目录下的名为 class 的 .class 文件
可以得出结论,Java 执行 .class 文件时不需要带后缀名,
因为会与包名冲突
以上
