java的包和命名空间有什么区别?

命名空间只有在C#中使用,它与java的包区别如下:
相同点:
1、都是为了重用性(reusebility)——软件工程中一个非常重要的目标。
2、C#里面的命名空间和java中的包都属于访问权限的控制机制。
不同点:
1、C#命名空间只是一种逻辑上的结构,它允许所组织的类文件的物理存放位置与逻辑结构不一致,而Java中类文件的物理结构必须与逻辑结构一致。
2、Java的package本身没有子包的概念,所有package都是并列的关系,没有谁包含谁的问题。比如:org.dominoo.action和org.dominoo.action.asl之间绝对没有包与子包的关系。它们是各自独立的包,各自拥有自己的class/interface的集合。在org.dominoo.action.asl的某个java文件里,如果想引用org.dominoo.action里的某个class/interface,则必须import org.dominoo.action。
C++/C#的namespace方案则不然,一个namespace可以有自己的sub-namespace,我们不妨将namespace也称为package,那么C++/C#的package之间就可能存在包与子包的关系。

3、Java中使用import语句而C#中使用using namespace语句。
C#学习路线图之《C#必须知道的300个问题》扫描版 ============================================================ 基本信息 作者:明日科技 丛书名:C#学习路线图 出版社:清华大学出版社 ISBN:978-7-302-27656-2 出版日期:2012年1月 开本:16开 页码:424页 版次:1-1 定价:¥49.80 所属分类:计算机 > 软件与程序设计 > C# ============================================================ 内容简介 本书以C#基础知识为框架,介绍了各部分知识所对应的常用开发疑难问题,并进行透彻地解析。本书内容括C#语言及其开发环境、掌握C#语言基础、流程控制语句、字符与字符串、数组和集合、C#面向对象程序设计、异常处理和程序调试、Windows窗体、Windows应用程序常用控件、Windows应用程序高级控件、C#面向对象高级技术、ADO.NET数据访问技术、水晶报表与打印、文件及数据流技术、GDI+绘图、多线程技术、网络编程技术、注册表技术、C#语言新技术和Windows应用程序打部署。 本书所涉及的疑难问题都是一线开发人员在实际项目中遇到的,书中针对这些问题给出了解决方案,并进行了技术上的解析。读者通过对本书的学习,能够提高实际解决问题的能力。 本书提供了大量的源程序、素材,提供了相关的模块库、案例库、素材库、题库等多种形式的辅助学习资料,还提供迅速及时的微博、QQ、论坛等技术支持。 本书内容详尽,非常适合作为C#开发人员的学习用书和必备参考手册,也适合作为相关培训机构的师生和软件开发人员的参考资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值