java中的import和package机制
2013-04-14 18:55
405 查看
最近学了点java基础,在遇到import和package部分时看了几遍视频,还是有点糊涂,今天亲自做了一下实验,恍然大悟,下面分享给大家:
java的package的作用类似于c++的namespace的作用,防止名字相同的类产生冲突,这不是我们想要的。看一下package的使用。
我在路径为E:\java\testpackage\下写一个cat.java文件如下:
![](http://images.cnitblog.com/blog/449039/201304/14180133-26630df1f1604cb5a675454bca31869e.png)
编译通过下面我们在相同的目录下写一个Dog类来掉用Cat类如下:
我们编译出现了下面的错误:
![](http://images.cnitblog.com/blog/449039/201304/14180908-057329346b9642988207f44b939585a9.png)
虽然我们把两个类放到了一起但不能直接访问了,为什么呢,就像两个不错的哥们,之前没有package的时候相当于”默认是可以在一起混的“,要打算用他的东西,直接用new做一个就行了,用了package就不一样了,打上标签,就像我们现实生活中毕业了,各分两地,再没有任何通信方式的情况下我们只能去他指定的城市去找他(尽管我们在一个城市,因为我们“没有联系”不知道,就像我们现在这种情况在一个相同的文件夹下,即使在一起),告诉他我要用一下你的某些东西,我们才能new制作一个才行呀。
看样子我只能给放到标签的位置(当前目录com下cxue里),我们在进行编译
还是出了问题,这是因为我们在使用Cat类时还采用原来的方式,打上标签了就要换种方式,就像我要找到哥们必须要比之前在一起时费点事,我改变为下面的方式:
编译通过如下:
![](http://images.cnitblog.com/blog/449039/201304/14184028-abad839dea8a41f9b7e45c0a251da5fb.png)
但这样太麻烦了,不如我们提前告诉人家一声,以后就直接用,顺其自然import排上用场了。
再次修改代码如下:
编译通过。
完毕:
java的package的作用类似于c++的namespace的作用,防止名字相同的类产生冲突,这不是我们想要的。看一下package的使用。
我在路径为E:\java\testpackage\下写一个cat.java文件如下:
package com.cxue; public class Cat { }
![](http://images.cnitblog.com/blog/449039/201304/14180133-26630df1f1604cb5a675454bca31869e.png)
编译通过下面我们在相同的目录下写一个Dog类来掉用Cat类如下:
public class Dog { public static void main(String[] args) { Cat c = new Cat(); } }
我们编译出现了下面的错误:
![](http://images.cnitblog.com/blog/449039/201304/14180908-057329346b9642988207f44b939585a9.png)
虽然我们把两个类放到了一起但不能直接访问了,为什么呢,就像两个不错的哥们,之前没有package的时候相当于”默认是可以在一起混的“,要打算用他的东西,直接用new做一个就行了,用了package就不一样了,打上标签,就像我们现实生活中毕业了,各分两地,再没有任何通信方式的情况下我们只能去他指定的城市去找他(尽管我们在一个城市,因为我们“没有联系”不知道,就像我们现在这种情况在一个相同的文件夹下,即使在一起),告诉他我要用一下你的某些东西,我们才能new制作一个才行呀。
看样子我只能给放到标签的位置(当前目录com下cxue里),我们在进行编译
还是出了问题,这是因为我们在使用Cat类时还采用原来的方式,打上标签了就要换种方式,就像我要找到哥们必须要比之前在一起时费点事,我改变为下面的方式:
public class Dog { public static void main(String[] args) { com.cxue.Cat c = new com.cxue.Cat(); } }
编译通过如下:
![](http://images.cnitblog.com/blog/449039/201304/14184028-abad839dea8a41f9b7e45c0a251da5fb.png)
但这样太麻烦了,不如我们提前告诉人家一声,以后就直接用,顺其自然import排上用场了。
再次修改代码如下:
import com.cxue.*;
public class Dog { public static void main(String[] args) { Cat c = new Cat(); } }
编译通过。
完毕:
相关文章推荐
- Java的package和import机制
- Java的Package与Import机制之我的理解(初学者的心得)
- Java的package和import机制
- Java的Package与Import机制--心得
- 黑马程序员—Java面向对象(异常处理机制、package包、import导入包、jar包)
- java classpath import package 机制
- Java的package和import机制
- java中的包管理机制package和import
- 深入java的package 与import 机制(转)
- JAVA package与import机制
- java classpath import package 机制 @Java的ClassPath, Package和Jar
- [转] java package import
- 一---Android-SDK系列文章(2) ---java(class,package,import)
- Java基础小记之package和import语句
- Java 入门语法<include ClassPath,import,package.etc>
- 12-22java面向对象之package & import
- Java-package and import for first perspective
- 初步了解java中的import和package
- Java中的package和import命令
- Java中利用package机制实现条件编译