当前位置:学者斋 >

计算机 >java语言 >

Java编程里的包及访问权限

Java编程里的包及访问权限

在 Java 里,可以将一个大型项目中的类分别独立出来,分门别类地存到文件里, 再将这些文件一起编译执行,如此的程序代码将更易于维护。下面内容由小编为大家介绍Java编程里的包及访问权限,供大家参考!

Java编程里的包及访问权限

一、包(package)的基本概念

当一个大型程序由数个不同的组别或人员开发共同开发时,用到相同的类名称是 很有可能的事。如果这种情况发生,还要确保程序可以正确运行,就必须通过 package 关键字来帮忙了。

package 是在使用多个类或接口时,为了避免名称重复而采用的一种措施。那么 具体应该怎么使用呢?在类或接口的最上面一行加上 package 的声明就可以了。

【 格式1 package 的声明】

package package 名称 ;

经过 package 的声明之后,在同一文件内的接口或类都被纳入相同的 package 中。 程序 TestPackage1 是使用 package 的一个范例,如下所示:

范例:

01 package

02 class Person

03 {

04 public String talk()

05 {

06 return "Person —— >> talk()"

07 }

08 }

09

10 class TestPackage1

11 {

12 public static void main(String[] args)

13 {

14 tln(new Person()())

15 }

16 }

在 中,除了第 1 行的加的 package 声明语句之外,其余的程序都是读者见过的。由于第 1 行声明了一个 的包,所以就相当于将 Person 类、TestPackage1 类放入了 文件夹之下。现在来看一下上面的程序是 如何编译的:

javac -d .

“-d”:表示生成目录

“.”:表示在当前目录下生成

这样就会在当前目录下生成一个 demo 的文件夹,在 demo 文件夹下又会生成一个 java 文件夹,在此文件夹下会有编译好的 s 和 s,编译好之 后用下面的语法来执行它:

java Package1

输出结果:

Person —— >> talk()

二、import 语句的使用

到目前为止,所介绍的类都是属于同一个 package 的,因此在程序代码的编写上 并不需要做修改。但如果几个类分别属于不同的' package 时,在某个类要访问到其它 类的成员时,则必须做下列的修改:

若某个类需要被访问时,则必须把这个类公开出来,也就是说,此类必须声明成 public。

若要访问不同 package 内某个 public 类的成员时,在程序代码内必须明确地指明 “被访问 package 的名称.类名称”。

【 格式2 package 的导入】

import package 名称.类名称 ;

通过 import 命令,可将某个 package 内的整个类导入,因此后续的程序代码便不 用再写上被访问package 的名称了。

举一个范例来说明 import 命令的用法。此范例与 TestPackage1 类似,只是将两个 类分别放在不同的包中:

图1 包的导入

范例:

01 package .a

02

03 public class Person

04 {

05 public String talk()

06 {

07 return "Person —— >> talk()"

08 }

09 }

程序说明:

程序第 1 行声明一个 .a 的包,将 Person 类放入此包之中。

范例:

01 package .b

02 import on

03

04 class TestPackage2

05 {

06 public static void main(String[] args)

07 {

08 tln(new Person()())

09 }

10 }

输出结果:

Person —— >> talk()

程序说明:

1、 程序第 1 行声明一个 .b 包,将 TestPackage2 类放入此包之中。

2、 程序第 2 行使用 import 语句,将 .a 包中的 Person 类导入到此包之中。

注意: 可以将第 2 行的 import on 改成 import .a.*,表示导 入包中的所有类,另外需要告诉读者的是,在 java 中有这样的规定:导入全部 类或是导入指定的类,对于程序的性能是没有影响的,所以在开发中可以直接写 导入全部类会比较方便。

另外, 程序也可以写成如下形式:

范例:

01 package .b

02

03 class TestPackage3

04 {

05 public static void main(String[] args)

06 {

07 tln(new on()())

08 }

09 }

可以发现在 程序中并没有使用 import 语句,但是在程序第 7 行 使用 Person 类的时候使用了“包名.类名”的方式使用了 Person 类,所以在程序中也 可以使用此方法来使用非本类所在的包中的类。

三、JDK 中常见的包

SUN 公司在 JDK 中为程序开发者提供了各种实用类,这些类按功能不同分别被 放入了不同的包中,供开发者使用,下面简要介绍其中最常用的几个包:

1、 — 包含一些 Java 语言的核心类,如 String、Math、Integer、System 和 Thread,提供常用功能。在 包中还有一个子包:ect 用于实现 java 类的反射机制。

2、 — 包含了构成抽象窗口工具集(abstract window toolkits)的多个类, 这些类被用来构建和管理应用程序的图形用户界面(GUI)。

3、 g — 此包用于建立图形用户界面,此包中的组件相对于 包而言是轻量级组件。

4、 et — 包含 applet 运行所需的一些类。

5、 — 包含执行与网络相关的操作的类。

6、 — 包含能提供多种输入/输出功能的类。

7、 — 包含一些实用工具类,如定义系统特性、与日期日历相关的函数。

注意:java1.2 以后的版本中, 这个包会自动被导入,对于其中的类,不 需要使用 import 语句来做导入了,如前面经常使用的 System 类。

  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/jsj/java/xdpm16.html