最近学了点java基础,在遇到import和package部分时看了几遍视频,还是有点糊涂,今天亲自做了一下实验,恍然大悟,下面分享给大家:

java的package的作用类似于c++的namespace的作用,防止名字相同的类产生冲突,这不是我们想要的。看一下package的使用。

我在路径为E:\java\testpackage\下写一个cat.java文件如下:

package com.cxue;
public class Cat {


}

编译通过下面我们在相同的目录下写一个Dog类来掉用Cat类如下:

public class Dog {
  public static void main(String[] args) {
  
    Cat c = new Cat();
  }
    
}

我们编译出现了下面的错误:

虽然我们把两个类放到了一起但不能直接访问了,为什么呢,就像两个不错的哥们,之前没有package的时候相当于”默认是可以在一起混的“,要打算用他的东西,直接用new做一个就行了,用了package就不一样了,打上标签,就像我们现实生活中毕业了,各分两地,再没有任何通信方式的情况下我们只能去他指定的城市去找他(尽管我们在一个城市,因为我们“没有联系”不知道,就像我们现在这种情况在一个相同的文件夹下,即使在一起),告诉他我要用一下你的某些东西,我们才能new制作一个才行呀。

看样子我只能给放到标签的位置(当前目录com下cxue里),我们在进行编译

还是出了问题,这是因为我们在使用Cat类时还采用原来的方式,打上标签了就要换种方式,就像我要找到哥们必须要比之前在一起时费点事,我改变为下面的方式:

public class Dog {
  public static void main(String[] args) {
  
    com.cxue.Cat c = new com.cxue.Cat();
  }
    
}

编译通过如下:

但这样太麻烦了,不如我们提前告诉人家一声,以后就直接用,顺其自然import排上用场了。

再次修改代码如下:

import com.cxue.*;
public class Dog {
  public static void main(String[] args) {
  
    Cat c = new Cat();
  }
    
}

编译通过。

完毕:

 

 

版权声明:本文为onlycxue原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/onlycxue/archive/2013/04/14/3020729.html