第一章 面向对象
第二章 异常
第三章 数组
第四章 常用类
第五章 集合
第六章 IO流
第七章 线程
第八章 反射
第九章 Socket编程

Java 包(package)的作用和概述

 

Java中的包是封装一组类,子包和接口的机制。


Java中包的作用:

  1. 防止命名冲突。例如,可以有两个名称分别为Student的类,com.bjpowernode.bean.Student和com.wkcto.bean.Student
  2. 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
  3. 提供受控访问:拥有包访问权限的类才可以访问某个包中的类。
  4. 可以更好得维护程序结构。

 

Java中包的概述:

包是用来管理类的, 就像使用文件夹管理文件一样.一个项目,可以包含很多的包,每个 包中又包含很多不同的类

同一个包中类名不能相同 , 不同的包中类名可以相同

Java提供的常用的包

java.lang Java语言的基本包, 系统会自动导入

java.util Java提供的常用工具包

java.io 输入/输出相关的类

 

包的定义:

package  包名

 

说明:

  1. package关键字,是用来定义包的
  2. package定义包的语句必须作为源文件的第一条语句
  3. 包名的命名规则

 

一般使用公司域名的倒序+项目名+模块名

com.wkcto.chapter01.package01

一般所有字母都小写

 

1、如果把类定义在包中, 类会有一个完整类名

包名.类名

com.wkcto.chapter01.package01.Demo01

 

  1. 使用java运行程序时, 如果是完整类名,系统会在当前目录中依次查找与包名对应的文件夹, 即在当前目录中查找  com/wkcto/chapter01/package01文件夹, 在该文件夹中查找Demo01.class字节码文件
  2. 把类定义在包中之后,编译时,可以通过-d参数指定字节码存储的位置,如:javac   -d   .    Test01.java   小点代表是当前目录

 

package  com.bjpowernode.chapter0101.p1;
/**
*	1) 使用package关键字定义了一个包, 包名命名规则: 公司域名.项目名.子模块名
*	2) Demo01类的完整类名 : com.bjpowernode.chapter0101.p1.Demo01
*	3) 编译时, 通过-d参数指定生成字节码的存储位置
			javac   -d  .   Demo01.java
			系统会在当前目录中依次创建与包名对应的文件夹
	4) 运行程序时, 使用完整类名
			java  com.bjpowernode.chapter0101.p1.Demo01
			系统会在当前目录中依次查找与包名对应的文件夹, 在该文件夹中查找字节码文件
*/
class Demo01 {
	public static void main(String[] args) 	{
		System.out.println("Hello World!");
	}
}

 

 

2、使用其他包中的类

在a包中想要使用b包中的类, 前提b包中的类必须定义为公共类

在使用时,可以通过两种方式:

  1. 直接使用完整类名
  2. 先通过import导入该类,再使用

 

package com.bjpowernode.chapter0101.p2;
/*
*	在p2包中, 想调用p3包中的MyClass类的静态方法
	1) 使用前提是, 被使用的MyClass类必须定义为public公共类
	2) 在使用时, 可以直接使用完整类名 , 也可以先导入再使用
*/

import com.bjpowernode.chapter0101.p3.MyClass;

class Demo02 {
	public static void main(String[] args) 	{
		System.out.println("调用p3包中的MyClass类的静态方法!");
		//可以使用完整类名访问一个类
		com.bjpowernode.chapter0101.p3.MyClass.mm();
		//还可以先把类导入到当前文件中,再使用
		MyClass.mm();
	}
}
package com.bjpowernode.chapter0101.p3;
public class MyClass{
	public static void mm() 	{
		System.out.println("我是p3包中 MyClass类的静态方法mm!");
	}
}

 

 

 

全部教程