包的定义及使用

包的定义

     Ø  在Java程序之中的包,主要的目的是可以将不同功能的文件进行分割。在之前的代码开发之中,所有编译后的*.class文件都保存在了同一个目录之中,这样一来就会带来一个问题:如果出现了同名文件,那么就会发生文件的覆盖问题,因为在同一个目录之中不允许有重名文件。而要想解决同名文件冲突的问题,就必须设置不同的目录,因为在不同的目录下可以有重名文件,所谓的包实际上指的就是文件夹。在Java之中使用package关键字来定义包,此语句必须写在*.java文件的首行。

 

定义包

package com.ww.demo ;		// 定义程序所在包,此语句必须放在首行
public class Hello {
	public static void main(String args[]) {
		System.out.println("Hello World !") ;
	}
}

   Ø  此时的程序代码功能就是在屏幕上输出一个字符串信息,但是唯一的区别是将Hello程序类定义在了一个“com.ww.demo”的包中(在定义包的时候出现了“.”,那么就表示子目录)。

   Ø  当程序中出现包的定义之后,如果在编译程序时,就必须使生成的Hello.class保存在指定的目录下(此时应该保存在com\ww\demo目录下,与包名称结构相同),在JDK中提供了自动的打包编译指令:javac -d . Hello.java

   Ø  “-d”:生成目录,根据package的定义生成;

“.”:设置保存的路径,如果为“.”表示在当前所在路径下生成;


包的导入

    Ø 使用包可以将一个完整的程序拆分为不同的文件进行分别保存,这样就会造成一个问题,不同包之间有可能要进行互相访问,那么此时就需要使用包的导入(import语句)操作。

 

包的导入

package com.ww.util;
public class Message {
	public void print() {
		System.out.println("Hello World !");
	}
}
package com.ww.test;
import com.ww.util.Message;			// 导入所需要的类
public class TestMessage {
	public static void main(String args[]) {
		Message msg = new Message();	// 实例化对象
		msg.print();		// 调用方法
	}
}  //结果为 Hello World !  

关于publicclass与class声明类的区别。

    Ø publicclass:文件名称必须与类名称保持一致,在一个*.java文件里面只能够有一个public class声明,如果一个类需要被不同的包所访问,那么一定要定义为public class;

    Ø class:文件名称可以与类名称不一致,并且一个*.java文件里面可以有多个class定义,编译后会形成多个*.class文件,如果一个类使用的是class定义,那么表示这个类只能够被本包所访问。

 

导入一个包中的多个类

     Ø 如果说现在要在一个类中导入同一个包中许多类的时候,则这样每次都重复编写“import 包.类”语句会很麻烦,所以可以使用“包.*”的方式来代替一个包中多个类的导入操作。

package com.ww.test;
import com.ww.util.*; 		// 自动导入指定包中所需要的类
public class TestMessage {
	public static void main(String args[]) {
		Message msg = new Message();	// 实例化对象
		msg.print();			// 调用方法
	}
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值