您的位置 首页 java

大数据编程入门:Java包

为了更好地组织类, Java 提供了一种包机制,今天小编将为大家带来大数据编程入门:Java包(Package)这篇文章。

一、包的概念

包是类的容器,用于分隔类名空间。如果未指定包名,则所有示例都属于默认的匿名包。

1、包的作用:

A. 相似或相关的类或接口组织在同一个包中,以便于类的搜索和使用。

B. 与文件夹一样,包也存储在树目录中。同一包中的类的名称不同,不同包中的类的名称可以相同。在两个不同的包中同时调用同名类时,应添加包名称来区分它们。因此,包可以避免名称冲突。

C. 该包还限制了访问权限。只有具有包访问权限的类才能访问包中的类。

Java使用包( Package )来防止命名冲突、访问控制,并提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。

2、以下是包语句语法格式:

package pkg1[.pkg2[.pkg3…]];

例如,一个Something.java 文件的内容

package net.java.util;

public class Something{

}

那么它的路径应该是net/java/util/Something.java。Package(包)的功能是对不同的Java程序进行分类和保存,方便其他Java程序调用。

包(package)可以定义为一组相互关联的类型(类、接口、枚举和注释),这些类型为这些类型提供访问保护和命名空间管理功能。

3、以下是一些Java中的包:

A. Java.lang-打包基础的类

B. Java.io—含有输入和输出函数的函数

开发人员可以打包一组类和接口,并定义自己的包。而在实际发展中,这样做是值得提倡的。完成类的实现后,可以对相关的类进行分组,以便于其他程序员确定哪些类、接口、枚举和注释是相关的。

因为包创建了一个新的名称空间(namespace),所以与其他包中的任何名称都没有命名冲突。使用包机制,可以更容易地实现访问控制和定位相关类。

二、创建包

创建包时,需要给它起一个正确的名称。稍后,如果另一个 源文件 包含包提供的类、接口、枚举或注释类型,则包声明必须放在源文件的开头。

包声明应该在源文件的第一行,每个源文件只能有一个包声明,并且该文件中的每个类型都应用于它。

如果源文件中未使用包声明,则其中的类、函数、枚举、注释等将放置在未命名的包(unnamed package)中。

实例

让我们来看一个例子,它创建了一个称为fruits的包。通常使用小写字母命名,避免与类和接口名称冲突。

向fruits包添加接口(interface):

接下来,在同一个包中加入该接口的实现:

运行结果:

三、import关键字

为了使用包的成员,我们需要显式地将包导入Java程序。使用“import”语句完成此函数。

在Java源文件中,import语句应该位于package语句之后,所有类的定义之前,不能有导入语句或多个导入语句。语法格式如下:

import package 1[.package2…].(classname|*);

如果包中的类要使用包中的另一个类,则可以省略包名。

例子

以下payroll包已包含Employee类,接下来,在payroll包中添加一个Boss类,当Boss类引用Employee类时,不必使用payroll前缀,Boss类的示例如下。

如果Boss类不在payroll包中怎么办?Boss类必须引用使用以下方法之一的其他包中的类。

使用类的全名,例如:

payroll.Employee

用 import 关键字引入,使用 通配符 *:

import payroll.*;

使用 import 关键字引入 Employee 类:

import payroll.Employee;

注意:类文件可以包含任意数量的导入声明。导入声明必须在包声明之后和类声明之前。

四、package的目录结构

包中的类有两个主要结果:

A. 正如我们前面讨论的那样,包名成为类名的一部分。

B. 包名称必须与相应字节码的目录结构匹配。

以下是管理自己的java文件的简单方法:

将类、接口和其他类型的源代码放在文本中。此文件的名称是此类型的名称,以.Java作为扩展,例如:

接下来,将源文件放在与类所在的包的名称对应的目录中.

….vehicleCar.java

正确的类名和路径将会是如下样子:

类名 -> vehicle.Car

路径名 -> vehicleCar.java (在 windows 系统中)

通常,一家公司使用其互联网域名的反向形式作为其 软件包 名称。例如,Internet域名是miuku.com,所有包名都以com.miuku开头。包名称的每一部分都对应于一个子目录。

例如,如果有一个com.miuku.test包,其中包含一个名为Miuku.java的源文件,那么应该有一系列子目录,如下所示:

….commiukutestMiuku.java

编译时,编译器为包中定义的每个类、接口和其他类型创建不同的输出文件。输出文件的名称是类型的名称,并且.class作为扩展后缀添加。

编译的,class文件应与.java源文件及其目录应与包名称相对应。然而.class文件的路径不要求与相应的.java的路径相同。您可以单独排列源代码和类目录。

这样,您就可以与其他程序员共享您的类目录,而不必公开您的源代码。以这种方式管理源代码和类文件允许编译器和Java虚拟机(JVM)查找程序中使用的所有类型。

类目录的绝对路径称为class path。在系统变量CLASSPATH中设置。编译器和java虚拟机构成了编译的路径。通过将package名添加到class path来初始化.class文件。

<path-two><classes是类路径,包名是 com.miuku.test, 编译器和JVM将找到.class文件在<path-two>classescommiukutest中。

一个类路径可以包含多个路径,多个路径应该用分隔符分隔。默认情况下,编译器和JVM查找当前目录。 JAR 文件包含与Java平台相关的类,因此它们的目录默认放置在class path中。

五、设置 CLASSPATH 系统变量

1、用下面的命令显示当前的CLASSPATH变量:

Windows 平台(DOS 命令行下):C:> set CLASSPATH

UNIX 平台(Bourne shell 下):# echo $CLASSPATH

2、删除当前CLASSPATH变量内容:

Windows 平台(DOS 命令行下):C:> set CLASSPATH=

UNIX 平台(Bourne shell 下):# unset CLASSPATH; export CLASSPATH

3、设置CLASSPATH变量:

Windows 平台(DOS 命令行下): C:> set CLASSPATH=C:usersjackjavaclasses

UNIX 平台(Bourne shell 下):# CLASSPATH=/home/jack/java/classes; export CLASSPATH

以上就是关于大数据编程入门:Java包的全部内容了,希望这篇文章能够帮助到大家~

文章来源:智云一二三科技

文章标题:大数据编程入门:Java包

文章地址:https://www.zhihuclub.com/180168.shtml

关于作者: 智云科技

热门文章

网站地图