黑马程序员_包和Jar包以及访问控制符(1)

本文介绍了Java中的包(package)概念及其使用方法,包括如何避免类名冲突、如何使用import关键字导入不同包中的类,并列举了JDK中常用的几个标准包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

------- android培训java培训、期待与您交流! ----------

包(package):

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

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

定义格式:

package package名称;

使用package的声明之后,在同一文件内的接口或类都被纳入相同的package中。

举个例子说明:

package pack.java;

class Person
{
	public String say()
	{
		return "Hello Java";
	}
}

class PackageTest
{
	public static void main(String[] args)
	{
		System.out.println(new Person().say());
	}
}
运算结果如下:
C:\Users\lenovo\Desktop>javac -d . PackageTest.java

C:\Users\lenovo\Desktop>java pack.java.PackageTest
Hello Java

C:\Users\lenovo\Desktop>

在PackageTest.java中,除了第首行加的package pack.java声明语句之外,其余的程序都很常见。首行声明了一个pack.java的包,所以就等于将Person类、PackageTest类放入了pack中的java文件夹之下。

程序编译的命令格式:

javac -d . PackageTest.java
"-d":表示生成目录
".":表示在当前目录下生成

这样就会在当前目录下生成一个pack的文件夹,在pack文件夹下又会生成一个java文件夹,在java文件夹下会有编译好的Person.class和PackageTest.class,编译好之后用java命令来运行。

命令格式:

java pack.java.PackageTest

import关键字的使用:

使用的类是属于同一个package时,程序代码的编写并不需要做修改,但如果几个类属于不同的package时,在某个类要访问到其它类的成员时,则必须做修改。

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

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

定义格式为:

import package名称.类名称;

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

举个例子说明:

package pack.java;

public class Person
{
	public String say()
	{
		return "Hello Java";
	}
}
package pack.java.impt;
import pack.java.Person;

public class ImportTest
{
	public static void main(String[] args)
	{
		System.out.println(new Person().say());
	}
}
运行编译Person:
C:\Users\lenovo\Desktop>javac -d . Person.java

C:\Users\lenovo\Desktop>
运行编译ImportTest:
C:\Users\lenovo\Desktop>javac -d . ImportTest.java

C:\Users\lenovo\Desktop>java pack.java.impt.ImportTest
Hello Java

C:\Users\lenovo\Desktop>

程序说明:

1、首行声明一个pack.java.impt包,将ImportTest类放入此包之中。

2、接着使用import语句,将pack.java包中的Person类导入到此包之中。

注意:

package pack.java.impt;

public class ImportTest1
{
	public static void main(String[] args)
	{
		System.out.println(new pack.java.Person().say());
	}
}
运算结果如下:
C:\Users\lenovo\Desktop>javac -d . ImportTest1.java

C:\Users\lenovo\Desktop>java pack.java.impt.ImportTest1
Hello Java

C:\Users\lenovo\Desktop>

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

JDK中常见的包:

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

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

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

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

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

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

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

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

注意:

Java 1.2以后的版本中,java.lang这个包会自动被导入,java.lang包中的类不需要使用import语句来导入,如常使用的System类。

------- android培训java培训、期待与您交流! ----------

详细请登录:http://edu.youkuaiyun.com/heima

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值