D:\java\SourceCode\nt目录下有Cat.java和Dog.java两个源代码分别如下:
package gjx; public class Cat{ public static void main(String[] args){ System.out.println("努力就会有收获"); } } public class Dog{ public static void main(String[] args){ gjx.Cat c = new gjx.Cat(); } } 在D:\java\SourceCode\nt目录下运行javac -d . Cat.java,在D:\java\SourceCode\nt目录下生成了gjx文件夹并包括了Cat.class文件。 当在D:\java\SourceCode\nt目录下运行javac Dog.java时,出现如下错误: D:\java\SourceCode\nt>javac Dog.java Dog.java:4: 错误: 程序包gjx不存在 gjx.Cat c = new gjx.Cat(); ^ Dog.java:4: 错误: 程序包gjx不存在 gjx.Cat c = new gjx.Cat(); ^ 2 个错误
一个public只能修饰一个类
应该一个Class文件不能出现两个公共的Class,你这个放在IDE肯定会报错的。
在classpath环境变量中填上package包所在的目录即可。在本问题中将D:\java\SourceCode\nt放入环境变量即可解决。
你dog代码的package部分呢?
package gjx;