搜索

首页  >  问答  >  正文

一个默认包的类访问另一个包中的类出现被访问包不存在的情况

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

高洛峰高洛峰2926 天前865

全部回复(4)我来回复

  • 欧阳克

    欧阳克2016-11-21 10:00:13

    一个public只能修饰一个类

    回复
    0
  • 三叔

    三叔2016-11-21 09:59:59

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



    回复
    0
  • 欧阳克

    欧阳克2016-11-21 09:59:36

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

    回复
    0
  • 三叔

    三叔2016-11-21 09:59:12

    你dog代码的package部分呢?

    package gjx;


    回复
    0
  • 取消回复