Java中的预定义包是什么

通过在同一程序包中声明它们,可以自动在一个文件夹中创建彼此相关的所有Java类和接口的.class文件。包不过是一个目录,用于存储特定概念的类和接口。

创建一个包

您可以创建一个包并在其中添加所需的类/接口,只需使用关键字package声明为Class / Interface文件顶部的包-

语法

Package package_name;

示例

下面的Java程序演示Java中包的声明。

package com.tutorialspoint.samplePackage;
public class PackageExample{
   public void display(){
      System.out.println("Welcome to www.nhooo.com");
   }
}

要编译该程序(带有程序包的程序),需要使用javac命令的–d选项。此时,您需要指定创建包的路径。

javac -d E:\ Sample.java

如果要将软件包放在当前目录中,请使用“.” 而不是-

javac -d . Sample.java

预定义包

Java提供了在程序包下组织的各种预定义的类和接口(API)。这些称为预定义软件包,以下是Java中预定义软件包的列表-

  • java.lang - 这个包提供了语言基础。

  • java.util - 该包提供与集合框架工作,事件,数据结构和其他实用程序类(例如日期)相关的类和接口(API)。

  • java.io - 该软件包提供用于文件操作以及其他输入和输出操作的类和接口。

  • java.math - 该软件包提供了用于多精度算术的类和接口。

  • java.nio - 此软件包提供了Java的非阻塞I / O框架的类和接口

  • java.net - 该软件包提供与网络相关的类和接口。

  • java.security - 此软件包提供了属于安全框架的类和接口,例如键生成,加密和解密。

  • java.sql - 该包提供用于访问/操作存储在数据库和数据源中的数据的类和接口。

  • java.awt - 这个包提供了类和接口来用Java创建GUI组件。

  • java.text - 该包提供用于处理文本,日期,数字和消息的类和接口。

  • java.rmi - 提供RMI包。

  • java.time - 日期,时间,瞬间和持续时间的主要API。

  • java.beans - java.beans包包含与JavaBeans组件相关的类和接口。

所有这些软件包都位于JRE(Java运行时环境)的bin文件夹中的 rt.jar 文件中。就像普通软件包一样,要使用特定的类,您需要导入其各自的软件包。

示例

在以下Java示例中,我们尝试使用java.util包的Scanner类从键盘读取数据。由于它不属于默认软件包,因此我们将使用import语句导入所需的软件包。

import java.util.Scanner;
class Student2{
   String name;
   int age;
   float percent;
   boolean isLocal;
   Student2(String name, int age, float percent, boolean isLocal){
      this.name = name;
      this.age = age;
      this.percent = percent;
      this.isLocal = isLocal;
   }
   public void displayDetails(){
      System.out.println("详情..............");
      System.out.println("Name: "+this.name);
      System.out.println("Age: "+this.age);
      System.out.println("Percent: "+this.percent);
      if(this.isLocal) {
         System.out.println("国籍: Indian");
      } else {
         System.out.println("国籍: Foreigner");
      }
   }
}
public class ReadData2 {
   public static void main(String args[]){
      //实例化Scanner类
      Scanner sc = new Scanner(System.in);
      System.out.println("输入你的名字: ");
      String name = sc.next();
      System.out.println("输入您的年龄: ");
      int age = sc.nextInt();
      System.out.println("Percent: ");
      float percent = sc.nextFloat();
      System.out.println("您是本地人吗(请输入TRUE或FALSE): ");
      boolean isLocal = sc.nextBoolean();
      Student2 std = new Student2(name, age, percent, isLocal);
      std.displayDetails();
   }
}

输出结果

输入你的名字:
Krishna
输入您的年龄:
26
输入您的百分比:
86
您是本地人吗(请输入TRUE或FALSE):
true
详情..............
Name: Krishna
Age: 26
Percent: 86.0
国籍: Indian