java中的包机制详解结合代码简单易懂

本文详细介绍了Java包机制的作用、如何定义及命名规则,包括包名结构、编译与运行流程,并通过实例演示了import语句的使用。

1.关于java语言中的包机制

package com.day09.text01;
/**
	关于java语言中的包机制:
		
		1.包又称为package,java中引入package这种语法机制主要是为了方便程序的管理。
		不同功能的类被分门别类到不同的软件包当中去查找管理较方便,易维护。
		
		2.怎么定义package呢?
			-在java源程序的第一行编写package语句。
			-package只能编写一个语句。
			-语法结构:
				package 包名;
		
		3.包名的命名规范:
			公司域名倒序+项目名+模块名+功能名
			重名率较低,公司域名具有全球唯一性
			例如:
				com.bjpowernode.oa.user.service;
				org.apache.tomcat.core;
		
		4.包名要求全部小写,包名也是标识符,必须遵守标识符的命名规则。
		
		5.一个包将来对应的是一个目录
		
		6.使用了package机制后,应该怎么编译?怎么运行?
			-类名不再是简单的Package,而是com.day09.text01.Package(包名.类名)
			-编译:javac java源文件路径——>生成class文件
			-手动创建目录,将Package.class放到指定的目录下(com下的day09下的text01文件夹里)
			-运行:java com.day09.text01.Package
			-另一种方式:
				*编译:
					javac -d  编译之后存放路径  java源文件的路径(带文件夹的形式)
				*例如:
					将F:\Hello.java文件编译之后放到C:\目录下
					javac -d C:\ F:\Hello.java
				*例如:
					将当前路径中的*.java(所有Java文件)编译之后放到当前目录下
					javac -d . *java
				*运行:
					JVM的类加载器ClassLoader默认从当前路径下加载
					保证DOS命令的窗口先切换到com所在的路径,执行
						java com.day09.text01.Package
 */
public class Package {

}

2.实例

package com.day09.text02;

public class Text01 {

	public static void main(String[] args) {
		System.out.println("测试类01");
	}
	
	public static void syh() {
		System.out.println("shaoyuhui");
	}
}

package com.day09.text02;

public class Text02 {

	public static void main(String[] args) {
		
		//完整的类名是:com.day09.text02.Text01
		com.day09.text02.Text01 t2 = new com.day09.text02.Text01();
		t2.syh();
		
		//可以省略包名,因为Text01和Text02在同一个包下
		Text01 t1 = new Text01();
		t1.syh();
		
		com.day09.text02.Text01.syh();
		
		Text01.syh();
	}
	public static void syh() {
		System.out.println("shaoyuhui");
	}
}

package com.day09.text03;

//import com.day09.text02.Text01;

public class Text03 {

	public static void main(String[] args) {
//		Text01 t1 = new Text01();
//		t1.syh();
		//找不到类名,实际上编译器会在当前包里去找Text01
		//即com.day09.text03.Text01。实际上这个类并不存在
		
		
		com.day09.text02.Text01 t1 = new com.day09.text02.Text01();
		t1.syh();
		//包名不要省略
	}

}

3.import语句

package com.day09.text04;

//import com.day09.text02.Text01;
//import com.day09.text02.Text02;
import com.day09.text02.*;
/**
	import语句用来完成导入其他包的类,同一个包下的类不需要导入
	
	语法格式:
		import 类名;(全称)
		import 包名.*;(包下全部类)
	
	位置:
		package语句之下,class语句之上
		
	java.lang.*不需要手动导入,系统自动引入
	lang:language语言包,是Java语言的核心类
 */

public class Text04 {

	public static void main(String[] args) {
		com.day09.text02.Text01 t1 = new com.day09.text02.Text01();
		t1.syh();
		//以上程序可以就是麻烦点
		
		Text01 t2 = new Text01();
		t2.syh();
		
		Text02 t3 = new Text02();
		t3.syh();
	}

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值