java面试题网

普通会员

483

帖子

9

回复

187

积分

楼主
发表于 2019-08-26 15:24:39 | 查看: 5084| 回复: 0

Java 包(package)的作用和概述

Java 包(package)的作用和概述

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

Java中包的作用:

  1. 防止命名冲突。例如,可以有两个名称分别为Student的类,com.wityx.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.wityx.chapter0101.p1;
/**
*	1) 使用package关键字定义了一个包, 包名命名规则: 公司域名.项目名.子模块名
*	2) Demo01类的完整类名 : com.wityx.chapter0101.p1.Demo01
*	3) 编译时, 通过-d参数指定生成字节码的存储位置
			javac   -d  .   Demo01.java
			系统会在当前目录中依次创建与包名对应的文件夹
	4) 运行程序时, 使用完整类名
			java  com.wityx.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.wityx.chapter0101.p2;
/*
*	在p2包中, 想调用p3包中的MyClass类的静态方法
	1) 使用前提是, 被使用的MyClass类必须定义为public公共类
	2) 在使用时, 可以直接使用完整类名 , 也可以先导入再使用
*/

import com.wityx.chapter0101.p3.MyClass;

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


文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/1141_1_1.html


java面试题交流群:327440556

上一篇:java访问权限 下一篇:Linux 上安装 Redis
您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018