Java - 包(Package)

Java - 包(Package) 首页 / Java入门教程 / Java - 包(Package)

在Java中使用包是为了防止命名冲突。

创建包

创建包时,应为包选择一个名称,并在每个源文件的顶部包含Package语句以及该名称。

要使用Package语句编译Java程序,必须使用-d选项,如下所示

javac -d Destination_folder file_name.java

然后在指定的目标中创建具有给定包名的文件夹,并且编译的类文件将放置在该文件夹中。

让无涯教程看一个创建Animals包的示例,使用小写字母的包名是一种很好的做法,以避免与类和接口的名称发生任何冲突。

以下包示例包含名为Animals的接口

/* File name : Animal.java */
package animals;

interface Animal {
   public void eat();
   public void travel();
}

现在在相同的包Animals-中实现上述接口

链接:https://www.learnfk.comhttps://www.learnfk.com/java/java-packages.html

来源:LearnFk无涯教程网

package animals;
/* File name : 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();
   }
} 

现在编译Java文件,如下所示-

$javac -d . Animal.java 
$javac -d . MammalInt.java

现在,将在当前目录中创建名为Animals的包/文件夹,并将这些类文件放入其中,如下所示。

clojure desktop button

可以在包中执行类文件并获得如下所示的输出。

Mammal eats
Mammal travels

Import 关键字

如果一个类想使用另一个包里面的方法,则需要使用import关键词导入包中的方法

package payroll;
public class Boss {
   public void payEmployee(Employee e) {
      e.mailCheck();
   }
}

Boss类必须使用以下技术之一来引用不同包中的类。

  • 可以使用类的完全限定名称。例如-
payroll.Employee
  • 可以使用import关键字和通配符(*)导入包。例如-

import payroll.*;
  • 类本身可以使用import关键字导入。例如-
import payroll.Employee;

注意-类文件可以包含任意数量的导入语句。import语句必须出现在package语句之后和类声明之前。

包的目录结构

将类、接口、枚举或注释类型的源代码放在文本文件中,该文本文件的名称是类型的简单名称,扩展名为.java。

//File Name :  Car.java
package vehicle;

public class Car {
   //Class implementation.   
}

现在,将源文件放在一个目录中,该目录的名称反映了该类所属的包的名称-

....\vehicle\Car.java

现在,限定类名和路径名将如下所示:-

  • Class name → vehicle.Car
  • Path name → vehicle\Car.java (in windows)

通常,公司使用其反向域名作为其包名称。

....\com\apple\computers\Dell.java

在编译时,编译器为其中定义的每个类、接口和枚举创建不同的输出文件。输出文件的基名称是类型的名称,其扩展名为.class

//File Name: Dell.java
package com.apple.computers;

public class Dell {
}

class Ups {
}

现在,使用-d选项编译

$javac -d . Dell.java

这些文件将按如下方式编译:-

.\com\apple\computers\Dell.class
.\com\apple\computers\Ups.class

您可以按照以下方式导入\com\apple\computers\中定义的所有类或接口-

import com.apple.computers.*;

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

朱赟的技术管理课 -〔朱赟〕

赵成的运维体系管理课 -〔赵成〕

技术管理实战36讲 -〔刘建国〕

OpenResty从入门到实战 -〔温铭〕

苏杰的产品创新课 -〔苏杰〕

MongoDB高手课 -〔唐建法(TJ)〕

深度学习推荐系统实战 -〔王喆〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

AI大模型企业应用实战 -〔蔡超〕

好记忆不如烂笔头。留下您的足迹吧 :)