)包简介
包实际上就是一个文件夹,在不同的文件夹中可以存在同名的类,创建包的方式:
package 第一层文件夹.第二层文件夹.第三层文件夹
package org.lxh.demo ;
public class Hello{
public void print(){
System.out.println("Hello World!!!") ;
}
};
此时使用了package在类中定义了一个包,在生成class文件的时候需要将文件所有的class类放在指定的包中。
通过以下命令进行打包编译:
javac -d 。 hello.java
其中-d表示生成目录,根据package的定义生成,
。表示在当前所在文件夹中生成,此时完整的类名称:包。类名称
(2)导入包
在程序中很多的类都存放在不同的包中,如果现在要导入不同的类,则可以使用import语句
import org.demox.Math.* ; ///导入包下的类
public class TestMath{
public static void main(String args[]){
System.out.println(add(1,1)) ;
System.out.println(sub(1,1)) ;
}
};
在进行导包操作的时候,一定要注意,如果一个包中的类需要被外部访问,那么此类一定声明成public class类型。package org.demob ;
import org.demoa.* ; // 导入所需要的类
import org.democ.* ; // 导入所需要的类
public class TestSayHello{
public static void main(String args[]){
org.demoa.SayHello sh = new org.demoa.SayHello() ;
sh.print() ;
}
};
democ和demoa中都有SayHello这个类,那么就要指明具体是哪个,
所有的类必然要放在一个包中,没有包的类不存在。
(3)静态导入
package org.demox ;
public class Math{
public static int add(int i,int j){
return i + j ;
}
public static int sub(int i,int j){
return i - j ;
}
};
如果类中的方法都是静态的,那么久可以静态的导入包。
static import org.demox.Math.*;
(4)系统常用的包
java.lang,此包中包含各种常用的类,可以自动导入。
java.lang.reflect //此包为反射机制包,包含了大量底层操作
java.util包:工具包,
java.io包:IO操作
java.net包:网络编程
java.sql包:数据库编程
java.text包:国际化程序的应用