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

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

Antworte allen(4)
学霸

一个public只能修饰一个类

三叔

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



学霸

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

三叔

你dog代码的package部分呢?

package gjx;


Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!