第8章 Java中的包(Package)命名习惯和注释.
javapackage用法

javapackage用法Java是一种面向对象的编程语言,它是产生于Sun Microsystems公司的James Gosling、Bill Joy和Guy Steele等人之手的,因为其其跨平台的特性(即“一次编写,到处运行”),得到了广泛的应用。
在Java中,package(包)是一种将相关类搜集到一起的机制。
我们可以使用包来组织我们的Java类,这样有助于代码的可读性和维护性。
一个包可以包含多个Java类,一个类也可以属于多个包。
package语句是Java程序中的第一条非注释语句,用于声明一个Java包。
它必须写在Java文件的最开始,位于导入语句之后。
语法格式:package pkg1[.pkg2[.pkg3]];其中,pkg1、pkg2和pkg3都是包名,package语句中可以有多个包名,采用点(.)分隔。
如果是逐层嵌套的包,也可以用这种方式表示。
例如,我们有一个名为com.example的包,可以这样声明:1.package com.example;由于Java是面向对象的,因此我们可以把具有相关功能的类封装到同一个包中。
这些类就像是组成了一个家族,有着共同的特征和行为。
在Java中,同一个包中的类可以直接访问,而不需要使用import语句。
但是,如果我们想使用其他包中的类,就需要使用import语句。
import语句用于导入一个或多个类,使得当前使用的Java文件中可以直接使用这些类。
在Java程序中,import语句必须在package语句之后,类定义之前。
import package1[.package2].class1[, package1[.package2].class2, ……]其中,package1和package2表示包名,class1、class2等表示类名。
例如,如果我们要导入java.util包的Date类,可以这样写:1.import java.util.Date;需要注意的是,通配符*虽然用起来非常方便,但是在Java程序中应该尽量避免使用,因为它会导致程序中导入的类数量增多,从而降低程序的执行效率。
Java 中的包

“包”机制是Java 中特有的,也是Java 中最基础的知识之一。
一些初学Java 的朋友,通常像学其他语言一样从教材上“copy”一些程序来运行,可是却常常遇到莫名其妙的错误提示,这些问题事实上都是对“包”的原理不理解。
本节将就此问题进行深入阐述。
什么是Java 中的包在Java 程序语言中,为了开发方便,会将多个功能相似的类放到一个组内,而这个组就是“包”,包就像一个目录结构。
先来观察目录结构,目录的结构分为目录、子目录和文件。
在操作系统中,如何表示一个文件的目录结构呢?先看一个有关文件目录结构的例子:D:\Java\wp.doc其实包的表示有点像文件的目录结构。
例如:Java.wp。
下面来分析一下上面的代码,“Java”就是包名称,而“wp”就是类名称。
包就是将一些类组合在一起。
例如,在一个Java 包中有wp 类、wp1 类、wp2 类等等。
包的作用总结如下:1. 包将包含类代码的文件组织起来,易于查找和使用适当的类。
2. 包不止是包含类和接口,还能够包含其它包。
形成层次的包空间。
3. 有助于避免命名冲突。
当使用很多类时,确保类和方法名称的唯一性是非常困难的。
包能够形成层次命名空间,缩小了名称冲突的范围,易于管理名称。
4. 控制代码访问权限。
如何实现包在Java 中要想使用包,必须先声明一个包,而声明一个包必须使用关键字“package”。
具体如下所示:package Java.wp声明一个包时,声明语句必须放在类所有语句的最前面,下面先看一个实例。
Public class package1{public static void main(String[] args){System.out.println(new Date());}}编辑出错,系统提示找不到类Date。
在Java 中调用其他包中的公用类,可以使用两种方式:1. 第一种方式就是在每个类名前加上完整的包名。
具体如下所示:java.util.Date today=new java.util.Date();这样的对象实例化看起来与以前用的“Date today=new Date()”有很大区别,就是在类名称前面加上了包的名字。
java包名规范

java包名规范Java包名规范是一种用于组织和管理Java类库的约定。
它是Java程序开发的一个重要方面,有助于提高代码的可读性、维护性和可重用性。
以下是关于Java包名规范的一些重要规则和指导原则。
1. 包名应该使用小写字母,并按照域名的反转形式进行命名,例如com.example.project。
2. 包名应该具有唯一性,避免与其他项目或类库的包名冲突。
3. 包名应该具有描述性,能够清晰地反映出它所包含的类的功能和目的。
4. 包名的长度应该适中,一般不应超过3个单词。
5. 包名建议使用英文单词,避免使用非ASCII字符或特殊字符。
6. 如果需要使用缩写词,应该遵循驼峰命名法,并使用全称或通用的缩写。
7. 包名的层次结构应该与类库的层次结构相对应。
例如,com.example.project.controller和com.example.project.service可以分别用于包含控制器和服务类。
8. 包名应该与目录结构保持一致。
例如,包名com.example.project.controller应该对应于目录结构com/example/project/controller。
9. 包名中的每个单词都应该使用小写字母,避免使用下划线或混合大小写。
10. 包名不应该包含Java关键字或保留字。
11. 包名不应该以数字或特殊字符开头。
12. 包名可以使用一个或多个子包,用于对类进行进一步分类。
例如,com.example.project.controller.admin可以用于包含项目中的管理员控制器。
13. 包名不应该包含模糊或无意义的名称,例如util、common或misc。
14. 包名可以根据类的类型进行命名。
例如,com.example.project.exception用于包含异常类,com.example.project.util用于包含实用工具类。
15. 包名不应该包含类的具体实现细节,应该更多地关注类的功能和用途。
java中项目包类命名规则

java中项目包类命名规则摘要:1.项目包命名规则的重要性2.Java项目包命名规则的具体规定3.命名规则在实际项目中的应用4.违反命名规则可能带来的问题5.总结:遵循命名规则,提高项目可读性和维护性正文:在Java开发中,项目包命名规则是保证代码可读性和维护性的重要环节。
合理的包命名可以帮助开发者快速理解代码功能,降低沟通成本,提高开发效率。
本文将详细介绍Java项目包命名规则的具体规定,以及在实际项目中如何应用这些规则。
一、项目包命名规则的重要性项目包命名规则是Java项目组织结构的基础,它有助于将相关功能划分为一个有机的整体。
合理的包命名可以帮助开发者快速定位到所需的功能模块,降低查找和理解代码的成本。
此外,良好的命名规则还能提高代码的可维护性,使得团队成员更容易协作,共同完成项目开发。
二、Java项目包命名规则的具体规定1.包名应具备可读性:包名应能够清晰地表达出该包所包含的功能模块。
可以使用驼峰命名法(CamelCase)或者下划线命名法(Underline)来命名包,使其更具可读性。
2.包名应简洁明了:尽量避免使用过长的包名,以免影响代码的可读性。
一般来说,包名的长度不超过2-3个单词较为合适。
3.包名应遵循命名规范:Java项目包命名应遵循以下规范:- 首字母大写:包名第一个单词的首字母应大写。
- 单词间用下划线分隔:包名中的单词之间使用下划线分隔,以提高可读性。
- 避免使用特殊字符:包名中不应包含特殊字符,如连字符、字母数字以外的字符等。
4.包名应保持一致:在整个项目中,相同功能的模块应使用相同的包名。
这样可以提高代码的一致性,降低维护成本。
三、命名规则在实际项目中的应用在实际项目中,命名规则可以帮助开发者更好地组织代码,提高代码的可读性和可维护性。
以下是一个实际项目中的包命名示例:- com.example.project(项目根目录)- com.example.project.controller(控制器包)- er(用户控制器包)- er.login(用户登录控制器)- er.register(用户注册控制器)- com.example.project.service(服务包)- er(用户服务包)- er.impl(用户服务实现包)- com.example.project.model(模型包)- er(用户模型包)- er.entity(用户实体类包)- er.vo(用户视图对象包)- com.example.project.util(工具包)四、违反命名规则可能带来的问题1.代码可读性降低:不合理的名词拼写、过长的包名等都会影响代码的可读性,增加理解难度。
Java包(package)的概念及实例

Java包(package)的概念及实例包的作⽤1、把功能相似或相关的类或接⼝组织在同⼀个包中,⽅便类的查找和使⽤。
2、如同⽂件夹⼀样,包也采⽤了树形⽬录的存储⽅式。
同⼀个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调⽤两个不同包中相同类名的类时,应该加上包名加以区别。
因此,包可以避免名字冲突。
3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
Java 使⽤包(package)这种机制是为了防⽌命名冲突,访问控制,提供搜索和定位包的实例1、⾸先看⼀下我的⽂件tree:➜assert tree.├── TestAssert.class├── TestAssert.java├── Vector.java└── com└── bruceeckel└── tools├── Assert│├── Assert.class│└── Assert.java└── HelloWorld├── HelloWorld.class└── HelloWorld.java2、看⼀下Assert的代码:package com.bruceeckel.tools.Assert;public class Assert {private static void perr(String msg){System.err.println(msg);}public final static void is_true(boolean exp) {if(!exp) perr("Assertion failed");}public final static void is_false(boolean exp) {if(!exp) perr("Assertion failed");}public final static void is_true(boolean exp, String msg) {if(!exp) perr("Assertion failed: " + msg);}public final static void is_false(boolean exp, String msg) {if(!exp) perr("Assertion failed: " + msg);}}3、下⾯是helloworld包的代码:package com.bruceeckel.tools.HelloWorld;public class HelloWorld {public void say(){System.out.println( "my name is zhangyin test " );}}下⾯是测试代码:import com.bruceeckel.tools.HelloWorld.*;import com.bruceeckel.tools.Assert.*;public class TestAssert {public static void main(String[] args){HelloWorld stu = new HelloWorld();stu.say();Assert.is_true((2 + 2) == 5);Assert.is_false((1 + 1) == 2);Assert.is_true((2 + 2) == 5, "2 + 2 == 5");Assert.is_false((1 + 1) == 2, "1 + 1 != 2");}}运⾏结果:➜assert java TestAssertmy name is zhangyin testAssertion failedAssertion failed: 2 + 2 == 5 上⾯的实际例⼦很清楚的解释了package的⽤法,具体的代码请参考:。
java包及其使用

java包及其使用1.包的概念包(package)是Java提供的一种区别类的名字空间的机制,是类的组织方式,是一组相关类和接口的集合,它提供了访问权限和命名的管理机制。
Java中提供的包主要有以下3种用途:1) 将功能相近的类放在同一个包中,可以方便查找与使用。
2) 由于在不同包中可以存在同名类,所以使用包在一定程度上可以避免命名冲突。
3) 在Java中,某次访问权限是以包为单位的。
1.1创建包创建包可以通过在类或接口的源文件中使用package语句实现,package语句的语法格式如下:package 包名;包名:必选,用于指定包的名称,包的名称为合法的Java标识符。
当包中还有包时,可以使用“包1.包2.…….包n”进行指定,其中,包1为最外层的包,而包n则为最内层的包。
package 语句通常位于类或接口源文件的第一行。
例如,定义一个类Circ,将其放入com.wgh包中的代码如下:package com.wgh;public class Circ {final float PI=3.14159f; //定义一个用于表示圆周率的常量PI // 定义一个绘图的方法public void draw(){System.out.println("画一个圆形!");}}说明:在Java中提供的包,相当于系统中的文件夹。
例如,上面代码中的Circ类如果保存到C盘根目录下,那么它的实际路径应该为C:\com \wgh\Circ.java。
2 使用包中的类类可以访问其所在包中的所有类,还可以使用其他包中的所有public类。
访问其他包中的public类可以有以下两种方法。
1) 使用长名引用包中的类使用长名引用包中的类比较简单,只需要在每个类名前面加上完整的包名即可。
例如,创建Circ类(保存在com.wgh包中)的对象并实例化该对象的代码如下:com.wgh.Circ circ=new com.wgh.Circ();2) 使用import语句引入包中的类由于采用使用长名引用包中的类的方法比较繁琐,所以Java提供了import语句来引入包中的类。
java 命名规范
java 命名规范Java命名规范是一种约定俗成的命名约定,用于提高代码的可读性和可维护性。
下面是针对Java命名规范的详细解释:1. 包名:采用小写字母,并且以公司、组织或个人的域名倒置命名,例如com.example.project。
2. 类名:采用驼峰命名法,首字母大写,不使用下划线。
类名通常是名词或名词短语。
例如,Student、Car。
3. 接口名:采用与类名相同的规则,但可以使用"able"、"ible"或"ation"结尾。
例如,Runnable、Serializable。
4. 方法名:采用驼峰命名法,首字母小写,不使用下划线。
方法名通常是动词或动词短语。
例如,getAge、calculateArea。
5. 常量名:采用全大写字母,并使用下划线分隔单词。
常量名应该是描述性的,例如MAX_VALUE、PI。
6. 变量名:采用驼峰命名法,首字母小写,不使用下划线。
变量名应该是描述性的,例如count、name。
7. 参数名:采用驼峰命名法,首字母小写,不使用下划线。
参数名应该是描述性的,例如length、width。
8. 方法和构造函数参数:通常,参数名应该是描述性的,而不是简单的字母,例如int age,而不是int a。
9. 泛型:如果泛型标识符只有一个字母,则应该使用大写字母,例如T、E。
10. 注释:采用Javadoc注释,以提供对类、方法和字段的描述,并使用标签对参数、返回值和异常进行说明。
除了命名规范之外,还有一些常见的约定俗成的规范:- 使用有意义和描述性的名字,可以提高代码的可读性。
- 避免使用缩写和简写,除非是广为人知的缩写。
- 使用一致的命名风格,以便代码更易于阅读和维护。
- 避免使用单个字母作为变量名,除非变量是临时的或在非常小的范围内使用。
- 避免使用特殊字符和Java关键字作为命名。
- 在命名常量时,使用final修饰符和全大写字母的命名约定,以表示常量的不可变性和重要性。
Java包的使用
如何处理不同包中相同类名的类: 如何处理不同包中相同类名的类: 如果我们需要同时使用两个类,虽然类名相同, 但是在不同的包中,这种情况如何处理? 解决方案:使用完整的类名,即:包名.类名 包名.类名 引用名 = new 包名.构造器; 如: com.Person p1 = new com.Person(); tianyi.Person p2 = new tianyi.Person();
包的使用规则: 包的使用规则: 1、全部小写. 2、使用域名的倒转. 3、必须放在第一行,且只能声明一次.(必须) 注意:养成良好的习惯,通过包来管理类.
如何使用其他包中的类:import 如何使用其他包中的类:import 1、import 包名.类名. 2、import 包名.*; 注意:导入类的时候,如果使用通配符*,则系统会 导入该包下所有的类,但是,不会递归导入该包下 其他的类.
追求卓越
保持领先
本节课的主要内容: 本节课的主要内容: 1、package的使用. 2、import的使用.
为什么要使用包: 为什么要使用包:package 避免大型软件系统开发过程中的命名冲突问题. 张三:Person.java 李四:Person.java
通过package关键词来管理类: 通过package关键词来管理类: package关键词来管理类 语法: package 包名;
Java源文件的格式: Java源文件的格式: 源文件的格式 package com; import java.util.*; import com.tianyitime.Person; public class Car{ //属性 //构造器 //方法 } 一个源文件中可以定义多个类吗? --可以,但只能有一个类是public的,即公共类.
命名规范
JAVA源文件名必须和源文件中所定义的类的类名相同。
2.2 Package的命名 Package名的第一部分应是小写ASCII字符,并且是顶级域 名之一,通常是com、edu、gov、mil、net、org或由ISO 标准3166、1981定义的国家唯一标志码。Package名的 后续部分由各组织内部命名规则决定,内部命名规则指定 了各组件的目录名,所属部门名、项目名等。 例: package com.fujistu.interstage.j2ee.deploytool.deployment; package com.apple.quicktime.v2;
• 存取方法 如果存取方法只进行简单的赋值或取值操作,可以写在 一行上,否则不要写在一行上。 例: /** * Get the counters */ public int getPackets() { packets++; return packets; } /** * Set the counters *… */ public void setPackets(int[] packets) { this.packets = packets; }
• 克隆方法 如果这个类是可以被克隆的,那么下一步就是 clone 方 法: 例: /** * clone method for this class… */ public Object clone() { …} • 类方法 对于类的具体方法,应将功能相似的方法放置在一起。例: /** * Method doSomething documentation comment… */ public void doSomething() { … }
• 3.5.2约定变量
所谓约定变量,是指那些使用后即可抛弃(throwaway) 的临时变量。通常i、j、k、m和n代表整型变量;c、d和e 代表字符型变量。 例: int i = 0; char c = ‘a’;
java接口和包
包、接口
主要任务 介绍Java中包(package)、接口 (interface)的使用方法。
本章主要内容
1.包 2.接口
6.1 包
当声明的类很多时,类名就有可能冲突,这 就需要一种机制来管理类名,这就是包。 包是Java提供的一种区别类名空间的机制, 是类的组织方式,一个包对应一个文件夹, 包中还可以有包,称为包等级。如同文件夹 中可以有子文件夹。
程序运行结果如图所示。
第一个程序声明了自定义包Mypackage,包中存放 有YMD类。第二个程序引入了自定义包Mypackage 中的类YMD。
2.设置包的路径
首先在存放源程序的文件夹中使用自定义包名建立 一个子文件夹,例如,在“E:\java\程序”文件夹之 中创建一个与包同名的文件夹E:\java\程序 \Mypackage,并将编译过的class文件放入该文件 夹中。注意:包名与文件夹名大小写要一致。再添 加环境变量classpath的路径如下: E:\j2sdk1.4.2_01\lib; E:\java\程序
要引入Java包,仅在程序中添加import语句 还不够,还要告诉系统,程序运行时到哪里 去找Java包。这个功能由环境变量classpath 来完成。 由于Java使用文件系统来存储包和类,类名 就是文件名,包名就是文件夹名,所以进行 环境变量的设置就是找到存放包的路径,如 “E:\j2sdk1.4.2_01\lib;”。
3.创建包等级
用圆点“.”可以将包名分隔为不同的包等级,即建 立不同的文件夹。格式为: <package> <包名1>[<.包名2>][<.包名3>} 如java.awt.image就是一个等级包,反映Java开发 系统的层次关系,这个包对应Windows文件系统中 的java\awt\image文件夹。如果要修改包名就要修 改文件夹名。