just like "namespace" in c++you can define your package like this:
add "package a.b.c" at the top of you java source filee.g:
package a.b.c;
import java.util.*;
public class ...
add "package a.b.c" at the top of you java source filee.g:
package a.b.c;
import java.util.*;
public class ...
解决方案 »
- 大家帮忙看下这个程序中的几个符号是什么意思!
- javaw.exe再次出现多余
- 求网上可以调用的用java 写的webservice的地址
- 请教JAVA程序调试的问题
- 请问在JAVA打印程序设计中应该怎样设置页边距呢?
- 关于LinkedList和ArrayList的remove方法的效率问题
- jCreator 和 jBuilde那个软件好用呢
- 请教高人:一个数据类型转换的问题!!!
- 关于applet怎样才能不挡住移过的图片?
- ?请教:十万火急使用java.net中httpURLConnection类模拟post方法?、、全部分数送
- 数组的问题!!??
- 如果import了很多无用的包会不会对性能造成影响?
它的主要作用就是避免类名的冲突,有了package,你就可以把两个相同名称的不同类放在不同的package里。
class a
{
public void method()
{}
}
import a.a;
class b
{
a aa=new a();
aa.method();
}
java.lang 提供基本数据类型及操作
java.util 提供高级数据类型及操作
java.io 提供输入/输出流控制
java.awt 提供图形窗口界面控制
java.awt.event 提供窗口事件处理
java.net 提供支持Internet协议的功能
java.applet 提供实现浏览器环境中Applet的有关类和方法
java.sql 提供与数据库连接的接口
java.rmi 提供远程连接与载入的支持
java.security 提供安全性方面的有关支持
我们可以引用这些包,也可以创建自己的包。
4.2.1 包的声明
为了声明一个包,首先必须建立一个相应的目录结构,子目录名与包名一致。然后在需要放入该包的类文件开头声明包,形式为:
package 包名;
这样这个类文件中定义的所有类都被装入到你所希望的包中。例如
package Family;
class Father{
...//类Father装入包Family
}
class Son{
...//类Son装入包Family
}
class Daughter{
... //类Daughter装入包Family
}
不同的程序文件内的类也可以同属于一个包,只要在这些程序文件前都加上同一个包的说明即可。譬如:
//文件 Cat.java
package Animals;
class Cat{/*将类Cat放入包Animals中*;
...
}
//文件Dog.java
package Animals;
class Dog{ /*将类Dog放入包Animals中*/
...
}
4.2.2 包的使用
在Java中,为了装载使用已编译好的包,通常可使用以下三种方法:
(1) 在要引用的类名前带上包名作为修饰符。如:
Animals.Cat cat=new Animals.Cat();
其中Animals是包名,Cat是包中的类,cat是类的对象。
(2)在文件开头使用import引用包中的类。如:
import Animals.Cat;
class Check{
Cat cat=new Cat();
}
同样Animals是包名,Cat是包中的类,cat是创建的Cat类对象。
(3)在文件前使用import引用整个包。如:
import Animals.*;
class Check{
Cat cat=new Cat();
Dog dog=new Dog();
...
}
Animals整个包被引入,Cat和Dog为包中的类,cat和dog为对应类的对象。
在使用包时,可以用点“.” 表示出包所在的层次结构,如我们经常使用的
import java.io.*;
import java.applet.*;
实际是引入了/java/io/或/java/applet/这样的目录结构下的所有内容。需要指出的是,java.lang这个包无需显式地引用,它总是被编译器自动调入的。使用包时还要特别注意系统classpath路径的设置情况,它需要将包名对应目录的父目录包含在classpath路径中,否则编译时会出错,提示用户编译器找不到指定的类。
把类放入一个包内后,对包的引用可以替代对类的引用。此外,包这个概念也为使用类的数据与成员函数提供了许多方便。没有被public、private修饰的类成员也可以被同一个包中的其它类所使用。这就使得相似的类能够访问彼此的数据和成员函数,而不用专门去做一些说明。-----
定义一个包 你可以用下机的成员函数去说明一个包:
package PackageName;
比如,你可以把Rectangle类放入一个名为shapes的包中:
package shapes
此后,当你用javac来编译这个文件时,将会在当前路径下得到一个字节代码文件Rectangle.class。但你还需要将它移至java类库所在路径的shapes子目录下(在此之前,你必须建立一个名为shapes的子目录),这样以后才能应用shapes包中的Rectangle类。当然你可以用-d选项来直接指定文件的目的路径,这样就无需编译后再移动。
包的名称将决定它应放的不同路径。例如用下面的方式来构造一个包。
package myclass.Shapes;
归入该包的类的字节代码文件应放在java的类库所在路径的myclass子目录下。现在包的相对位置已经决定了,但java类库的路径还是不定的。事实上,java可以有多个存放类库的目录,其中的缺省路径为java目录下的lib子目录,你可以通过使用-classpath选项来确定你当前想选择的类库路径,具体成员函数可参考第三章的内容。除此之外,你还可以在CLASSPATH环境变量中设置类库路径。---
引用已定义过的包 为了使用已定义过的包,你必须使用引用命令import,你可以用以下三种方式引用包中的一个类:
1.在每一个类名前给出个包名:
Shapes.Rectangle REET=new Shapes.Rectangle(10,20)
2.引用类本身:
import Shapes.Reckargle;
3.引用整外包:
import Shapes;