雾里看花终隔一层——探析package和import

package是什么
  package好比java用来组织文件的一种虚拟文件系统。package把源代码.java文件,.class文件和其他文件有条理的进行一个组织,以供java来使用。
  源代码的要求最严格,而一旦源代码自己声明了在哪个package路径之下,class也就有了自己在哪个package下面的信息,就是那句程序开头的"package xx.xx.xx"。package可以用来区分同样名称的.class的类,
  .java文件和.class不是一对一,而是一对多的关系,不过.java和public的类是一对一的。所有这些.class,都由这个.java开头的package语句来确定自己在package中的位置。
  对于java来讲,所有需要的程序和资源都要以package的形式来组织和读取。package的出现可以让类文件(运行文件)和源文件相分离。
我刚开始运行pack.D文件时,错误提示找不到加载类,原因是根本没有pack这个文件夹,一种比较直接的解决方法就是新建一个pack文件夹


当然你不可能每次都重新建一个文件夹,你可以指定一个盘的文件夹,比如e:\myclass,然后javac -d e:\myclass   D.java,这时会自动生成一个pack文件夹。接着我就运行了,发现运行文件不存在,仔细想一下,class文件已经被放在了e盘;你可以set classpath=e:\myclass,或者进入E盘操作。


import是什么
  import只是一种让你偷点懒少打字的方法,绝对不会影响你的classpath,它只是一种省事的办法。我个人的感受有点像c语言里的define,可以省去多次续写和修改的麻烦。如果你不用import,你用Cristiano这个类,就需要写java.Ronaldo.Cristiano。而用了import的话以后代码中写Cristiano就可以了,省事。import可以使用通配符*,这里不再赘述。我讲一下我写java时遇到的问题,首先在一个包中调用另一个包中的类时,要记住类的名是包名.类名; 一个包中的类要被访问,必须要有足够大的权限,类公有后,被访问的成员也要公有。

  不过,当你觉得你对package和import依旧云里雾里,这些你都不用在意;当你下了IDEA之后,这些你都不用操心,因为IDEA会自动帮你做好。

  王国维在《人间词话》中这样写道,“雾里看花,终隔一层。”只有对自己疑惑的内容抽丝剥茧,才可寻得其中的奥妙。

posted @ 2016-03-12 15:04  20145211  Views(242)  Comments(0Edit  收藏  举报