Java编程那些事儿72——包的概念

8.11 包的概念

随着项目复杂度的增加,一个项目中需要实现的类和接口的数量也将快速增长,为了方便对于代码的管理和阅读,需要将这些类和接口按照一定的规则进行分类,这就是程序设计中命名空间(name space)概念出现的原因。

在Java语言中,为了对同一个项目中的多个类和接口进行分类和管理,专门设计了包(Package)的概念,使用包管理和类和接口。

其实出现包的概念最开始的原因是避免类名重复,现在这个作用也得到了广泛的应用。例如各个公司会为同一个功能实现一套类,这些类名之间大量的存在重复,使用包的概念就可以很方便的解决类名重复的问题。

那么包到底是什么呢?其实包是一个逻辑的概念,就是给类名加了一个前缀,就像北京路这个路名上海和南京都有,再说这个路名时,就可以使用南京市北京路和上海市北京路进行区分,这里的北京路就相当于类,而前面的前缀,如南京市或上海市,就相当于包名。

在物理上包被转换成一个文件夹,操作系统通过文件夹来管理各个类和接口,从而实现对类的分类,或者称之为按照类的功能对这些类进行封装。

下面介绍一下和包有关的两个语法:打包和引入包。

8.11.1 打包

打包的作用就是将声明的类放入包中,也就是为类指定包名。在实际的项目中,一般根据类的功能来设定包,例如设置界面类包,逻辑类包,网络类包等结构。

打包的语法格式为:

package 包名1[.包名2[.包名3……]];

在该语法中,包名可以设置多个,包名和包名之间使用“.”进行分割,包名的个数没有限制。其中前面的包名包含后面的包名。按照Java语言的编码规范,包名所有字母都小写,由于包名将转换为文件夹的名称,所以包名中不能包含特殊字符。

例如:

package test;

package demo.chapter8;

package game.bubble.ui;

在示例中的最后一个,package game.bubble.ui,该包名将转换为路径\game\bubble\ui,也就是前面的包名是后面包名的父目录。

需要特别注意的是:

1、打包的语句必须是程序代码中的第一行可执行代码,也就是说打包语句的上面只能包含空行或注释。

2、打包的语句最多只有一句。

如果在代码中没有书写package语句,则该类将被打入到默认包中,默认包无法被其它的包引用。

示例代码:

//文件名:PackageClass.java

package chapter8;

public class PackageClass{

 //类内部的代码

}

时间: 2024-10-01 22:36:44

Java编程那些事儿72——包的概念的相关文章

Java编程那些事儿107——网络协议概念

13.2.5 网络协议 对于需要从事网络编程的程序员来说,网络协议是一个需要深刻理解的概念.那么什么是网络协议呢? 网络协议是指对于网络中传输的数据格式的规定.对于网络编程初学者来说,没有必要深入了解TCP/IP协议簇,所以对于初学者来说去读大部头的<TCP/IP协议>也不是一件很合适的事情,因为深入了解TCP/IP协议是网络编程提高阶段,也是深入网络编程底层时才需要做的事情. 对于一般的网络编程来说,更多的是关心网络上传输的逻辑数据内容,也就是更多的是应用层上的网络协议,所以后续的内容均以实

Java编程那些事儿52—方法声明

第七章 方法 方法(method),在面向过程的语言中称作函数(function),在汇编语言中称作子程序,是一个代码功能块,实现某个特定的功能.在实际的程序开发中,方法是一种基础的组织代码的方式.本部分就介绍方法相关的概念.相关语法以及实际使用时需要注意的问题. 7.1 方法概述 方法的概念来源于数学上的函数,在数学中,当数据具有一定的规律时,就是用一个函数来代码该数字的规律,例如f(n)=n则代表1.2.3.--这样的一个数列.在数学上n是参数,对于确定的n值只有一个f(n)的值和它对应.

Java编程那些事儿25—位运算符

4.5 二进制运算符 由于计算机内部的数据都以二进制的形式存在,所以在Java语言中提供了直接操作二进制的运算符,这就是下面要讲解的位运算符和移位运算符. 使用二进制的运算符,可以直接在二进制的基础上对数字进行操作,执行的效率比一般的数学运算符高的多,该类运算符大量适用于网络编程.硬件编程等领域. 二进制运算符在数学上的意义比较有限. 在Java代码中,直接书写和输出的数值默认是十进制,Java代码中无法直接书写二进制数值,但是可以书写八进制和十六进制数字,八进制以数字0开头,例如016,十六进

Java编程那些事儿1——序言

 序言          从大学毕业到现在,马上就六年了,这六年中从事过开发,也从事培训工作,相比而言,参加培训工作的时间要长一些.由于工作的特点,遇到了各种各样的学生,在学习编程时遇到了一系列的问题,也有很多迷茫的时候,希望通过编写本书,把相关的问题进行一下总结,把自己的经验和大家进行分享.当然由于一些知识也只是个人见解,也希望大家积极指正,帮助编程的初学者,以及程序开发人员深刻理解基础的概念,更好的学习编程和从事开发工作.         编写一本书,总要有个名字吧,姑且把书名叫做<Java

Java编程那些事儿3——你适合学习程序设计吗?

 Java编程那些事儿3--你适合学习程序设计吗?作者:陈跃峰出自:http://blog.111cn.net/mailbomb          程序设计是一个技术活,所以不是适合所有的人.现在很多人听说程序设计人员待遇如何如何的好,都一窝蜂的来学习程序,其实这个现象很不正常,因为程序不一定适合你.其实对于一个人来说,适合你的才是最好的.         就像现在很多小孩子都被家长逼着去学钢琴啊什么,有些小孩根本没有艺术细胞的,所以学习的效果就是差强人意了.         其实程序设计最需要

Java编程那些事儿4——如何学好程序设计?

  Java编程那些事儿4--如何学好程序设计?作者:陈跃峰出自:http://blog.111cn.net/mailbomb          俗话说"兴趣是最好的老师",但是只靠兴趣是远远不够的,还需要付出艰辛的努力.程序设计是一种技能,需要在较短的时间内学会,就不能像学习汉语一样,通过十几年甚至更长的时间来学好,也不能像英语那样进行业余学习,以至很多大学毕业的人英语水平也不敢恭维,也达不到实用的程度.         那么如何学好程序设计呢?或者更现实一点,如何在短时间内成为一个

Java编程那些事儿74——java.lang包介绍

9.4 JDK API包名综述 在整个JDK API中,大约包含1.200个包,总体来看,包名第一个名称主要有三种:java.javax和org.其中以java开头的包名是JDK的基础语言包,以javax开头的属于JDK扩展包(其中x是extend的简写),而以org开头的则是第三方组织提供的功能包(org是organization的简写).而在JDK API中还包含了一些以com.sun开头的包名,这些是SUN公司提供的一些功能包,由于这些包中的类随着JDK版本的更改变化很大,不具备兼容性,所

Java编程那些事儿55—方法重载和参数传递

7.5 方法相同 在Java语言中,方法相同的概念和其它程序设计语言不尽相同,Java语言中的方法相同指方法名称和参数列表都相同,其中参数列表相同指参数个数.参数类型和参数排列顺序等相同,参数名称可以不相同.相同的方法访问控制符.返回值类型可以不相同. 以下是一下相同的方法: public void test(int a,double[] d) private int test(int i,double[] d1) 在同一个类内部,不能声明相同的方法,否则将出现语法错误. 7.6 方法重载 方法

Java编程那些事儿86——文件操作之File类使用

11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力.本章IO类的使用就从读写文件开始. 11.3.1 文件操作 文件(File)是最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件.声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取.当然,在实际使用时,文件都包含一个的格式,这个格式需要程序员根据需要