Java面向对象— 包(package)

2023-12-25 11:27:17

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

import关键字

在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语句将它们引入到当前包中。否则,编译器将无法找到这些类,导致编译错误。

关于包的部分通过学习后续还会补充,若有不足,请指出!!

文章来源:https://blog.csdn.net/weixin_63645714/article/details/132795209
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。