java学习之——package引用问题


概要


最近这段时间开始进入软考的备考阶段,学习的资料是马士兵的J2SE视频,初次接触java,里面的知识感觉还是比较生的,其中视频里介绍了package的一些知识,在这里我记录下我初次触package时出现的一些小问题。


问题

 

开始编写的一个名为Peoplejava源文件,代码特别简单:

package Test;
public class People{
}


所以首先在命令窗口中输入 javacPeople.java运行成功,这一步没有什么问题。然后将生成的People.class文件放到Test文件夹下,接下来我们编写一个名为Personjava文件,代码如下

import Test.People ;
public class Person{
publicstatic void main(String [] args){
Peoplep =new People();
}
}


问题1 


然后我们在命令窗口中输入 javac Person.java可是出现如图所示的问题


java学习之——package引用问题

 

 

经过多次尝试终于找到原因所在,因为在我们源文件中我们发现一个名为Testjava文件,所以导致我们运行时无法识别我们的Test文件夹,如图:


java学习之——package引用问题

 

所以解决方案是将名为Test的源文件删除或者将我们的Test文件夹的名字改下就可以了。

 

问题2


当我尝试着将Person.java源文件中包的引用由import Test.People ;该为import Test.*;时又出现了问题如图:


java学习之——package引用问题


这个问题比较简单,图中显示是由Person.java文件导致的,所以我们将Person.java删除掉即可解决了

 

所以我们得到当通过import引用包时,引用代码中包括*,java源文件不可以存在;

 

 

关于包的引用除了通过import方式可以引用外,还有一种是用到那个类将该类的所有包全部写出来即可,代码如下:


public class Person{
publicstatic void main(String [] args){
Test.Peoplep =new Test.People();
}
}


 

通过这种方式引用包时,与源文件的存在与否没有关系。

 

总结


通过在实现package这个小例子中出现的问题,经过多次尝试总结如下:


         1.当引用包时,包文件名不可以与存在的java源文件名字相同,否则会无法识别该包.

         2.当通过import引用包时,引用代码中包括*,java源文件不可以存在;

         3.当通过import引用包时,引用代码中不包括*,java源文件可以存在;

         4.如果不采用import引用包,通过全路径的方式使用包,java源文件可以存在。

 

 虽然用了40多分钟左右的时间才将视频中仅仅10分钟的内容吃透,但是我感觉只有不断的解决在学习中遇到的这些小问题,积少成多,这样我们在遇到大的问题时也可以做到得心应手的去解决它。

 

java学习之——package引用问题,布布扣,bubuko.com

java学习之——package引用问题

上一篇:C++类的交叉引用问题


下一篇:21 Linux下的C语言集成开发环境汇总介绍