Java包(package)是Java语言中的一个重要概念,用于组织和管理Java类和接口。Java包使得开发者可以更有效地组织和管理代码,并使代码更易于维护和共享。
1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
创建包的时候,你需要为这个包取一个合适的名字。之后,如果其他的一个源文件包含了这个包提供的类、接口、枚举或者注释类型的时候,都必须将这个包的声明放在这个源文件的开头。
包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它。
如果一个源文件中没有使用包声明,那么其中的类,函数,枚举,注释等将被放在一个无名的包(unnamed package)中。
让我们来看一个例子,这个例子创建了一个叫做animals的包。通常使用小写的字母来命名避免与类、接口名字的冲突。
在 animals 包中加入一个接口(interface):
/* 文件名: Animal.java */
package animals;
interface Animal {
public void eat();
public void travel();
}
接下来,在同一个包中加入该接口的实现:
package animals;
/* 文件名 : MammalInt.java */
public class MammalInt implements Animal{
public void eat(){
System.out.println("Mammal eats");
}
public void travel(){
System.out.println("Mammal travels");
}
public int noOfLegs(){
return 0;
}
public static void main(String args[]){
MammalInt m = new MammalInt();
m.eat();
m.travel();
}
}
然后,编译这两个文件,并把他们放在一个叫做animals的子目录中。 用下面的命令来运行:
$ mkdir animals
$ cp Animal.class MammalInt.class animals
$ java animals/MammalInt
Mammal eats
Mammal travel
在Java中,import关键字用于将其他包中的类引入到当前包中,以便在代码中使用这些类。import语句的语法如下:
?
import package_name.class_name;
其中,package_name是引入的类所在的包的名称,class_name是要引入的类的名称。如果一个类被多个包共享,那么只需在其中一个包中引入该类即可。
例如,如果要在Java程序中引入java.util包中的ArrayList类,可以使用以下语句:
import java.util.ArrayList;
使用import关键字可以简化代码,因为它避免了在每个类中使用完全限定的类名。例如,如果要在Java程序中使用ArrayList类,可以直接使用ArrayList,而无需使用完全限定的类名java.util.ArrayList。
需要注意的是,如果在同一个Java源文件中使用多个包中的类,必须使用import语句将它们引入到当前包中。否则,编译器将无法找到这些类,导致编译错误。
关于包的部分通过学习后续还会补充,若有不足,请指出!!