2.2 Java中的包(package)

本文详细解析了Java中的包机制与C#中的命名空间的区别与联系,包括它们的作用、语法、命名规范及存储方式。通过对比,加深了对两种语言中类组织方式的理解。

为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。
包的作用

  • 1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
  • 2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
  • 3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
    语法
    package pkg1[.pkg2[.pkg3…]];
    包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它
    包的命名
  • 全部小写
  • 一般为公司域名倒序,如 com.baidu.util
  • 通常为{公司域名倒序}.{项目名}.{模块名}.{功能名} 如 com.daydaycome.user.createorder;

C#中的命名空间一般默认与程序集的名称一致,如果类文件在文件夹里面,则会按照{程序集名称}.{目录1}.{目录2}…,但是一般命名采用Pascal命名法:即单词首字母都大写。
通常为{公司名缩写}.{项目名}.{模块名} 如 Dcms.HR.Employee

java包与C#的命名空间

初接触java中的包,首先想到C#中的命名空间与其类比,但是又不完全一样。
java中的包按照物理目录结构定义和存储,而C#中的命名空间只是一个逻辑结构,虽然通常也按照目录层次来命名,但这不是必须的。

java中的jar包与C#中的类库

理解的还不够深入,目前就说说体会吧。java中的jar包算是对类的打包之后的物理结构,和C#中的类库编译之后的程序集类似,但是C#中的命名空间是可以跨越程序集的,不知道java中的包是否可以跨越jar包,留待日后验证吧

https://www.cnblogs.com/diegodu/p/5834251.html
http://www.runoob.com/java/java-package.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值