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