通过在同一程序包中声明它们,可以自动在一个文件夹中创建彼此相关的所有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