一个默认包的类访问另一个包中的类出现被访问包不存在的情况
高洛峰
高洛峰 2016-11-21 09:58:55
0
4
868

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 个错误

155417_fg7n_2706388.png

1.png

2.png

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(4)
学霸

一个public只能修饰一个类

三叔

应该一个Class文件不能出现两个公共的Class,你这个放在IDE肯定会报错的。



学霸

在classpath环境变量中填上package包所在的目录即可。在本问题中将D:\java\SourceCode\nt放入环境变量即可解决。

三叔

你dog代码的package部分呢?

package gjx;


Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan