一个默认包的类访问另一个包中的类出现被访问包不存在的情况
高洛峰
高洛峰 2016-11-21 09:58:55
[Java讨论组]

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教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(4)
欧阳克

一个public只能修饰一个类

三叔

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



欧阳克

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

三叔

你dog代码的package部分呢?

package gjx;


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号