C#名称空间 VS Java包

   写了几天的C#程序,程序总会先声明一个名称空间:

  

   namespace test

   跟C++里名称空间一样,只是声明方法不同:

 

 using namespace std;

   名字空间是用来按照逻辑,对类进行划分,增强了程序的可读性,而且减少了命名的冲突。看到这个作用,我忽然想到了Java中的包,这两种东西感觉作用一致,都是为了避免名称冲突才进行一种区域性的划分的。

   例如,java程序开头,总会先引入一些包:

 

 import java.util.*;

   这句话放在最前面,引入了util包中的所有类,然后,下面的程序就会调用包中内容。那么,C#中的名称空间跟Java中的包是不是相似的东西呢?

      相似也有区别:

     1, java里只有类,所以只需要把类定义在各自的包里就可以避免重复了.c++的命名空间里,不但可以包括类,还可以包括函数,变量,模板等.

      2,C#里面的名称空间和java中的包都属于访问权限的控制机制,就是说,只有具备相应的权限才允许代码访问它们内部的类。但是java中的包需要对应一个物理文件夹,文件夹名必须和包的名称一致,C#中的名称空间则不受这种限制。

   

   这两种东西,都是起到了一个分类打包,便于调用的作用。

  

时间: 2024-12-25 10:34:56

C#名称空间 VS Java包的相关文章

PHP V5.3 中的新特性,第 3 部分: 名称空间

很多语言都提供了名称空间特性,包括 C++ 和 Java 编程语言.引入名称空间是为了帮助组织大型的代码库,因为在大型代码库中,应用程序经常会出现函数名或类名重叠问题,这会引起其他问题.使用名称空间可以帮助识别代码提供的函数或实用程序,甚至可以帮助指定其来源.一个例子就是 C# 中的 System 名称空间,它包含有 .NET 框架提供的所有函数和类. 在其他未提供正式名称空间的语言中(比如 PHP V5.2 以及更早版本),人们常常通过在类或函数名中使用特定的命名约定来发挥名称空间的作用.比如

PHP教程:PHP代码中的名称空间

在 PHP V5.3 中引入的名称空间是为 PHP 类.常量和函数提供上下文的一种方式,从而可以将使用相同名称的元素看作是惟一的.惟一的名称避免了命名冲突,当两个类或函数使用相同的名称时就会发生这种情况.有时这些 PHP 类表示现实世界中的相同对象,但它们的行为是完全不同的.名称空间能够确保您拥有正确的 PHP 类.常量或函数,并且要使用您的 PHP 类的人能够确保他们使用了正确的类. 代码中的名称空间就像现实世界中的上下文.考虑一个表示现实世界中的汽车对象的类.例如,通过 Internet 销

在 XML Schema和WSDL中使用名称空间

对于名称空间,理解了OO思想的人应该是比较简单的了,特别是对学过C++的人来说更是如此;但很多看了我前面文章的朋友,在和我的交流中,好像对名称空间都不怎么清楚,下面我们就来说说怎么样在 XML Schema和WSDL中使用名称空间.先看看一段JAVA代码: package com.hongsoft.test.pkg1; import com.hongsoft.test.pkg2.Test1; import com.hongsoft.test.pkg2.Test2;在这个文件中,我们把com.ho

Android数据库框架——ORMLite轻量级的对象关系映射(ORM)Java包

Android数据库框架--ORMLite轻量级的对象关系映射(ORM)Java包 事实上,我想写数据库的念头已经很久了,在之前写了一个答题系统的小项目那只是初步的带了一下数据库,数据库是比较强大的,不是我们三言两语就能解决的,我一直想抽个时间自己再过一遍Sqlite和JDBC的,但是,大家也知道,琐事比较多,我们来说一下数据库的框架吧,事实上市面上,我觉得还可以的数据库框架有两个,ORMLite和GreenDao,我以前做的运动类的应用上,就需要存储大量的运动数据,我们最开始是在本地写数据库的

创建、查询、修改带名称空间的 XML 文件的例子

xml|创建 XML的应用越来越广泛了,如Vista.Flex编程都将使用 XML,正确掌握XML的各种操作,对提高编程效率至关重要.下面就是一个综合处理带名称空间的XML的例子.C#:string w3NameSpace = "http://www.w3.org/2000/xmlns/";System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); //创建根节点System.Xml.XmlNode root = doc.Cre

.net下对具有名称空间的XML使用XPath的方法

xml    这两天都在对一个其他公司提供的RSS接口进行编程,由于他们RSS提供的是1.0版本,其中的XML部分是有名称空间的,为此这一两天为了这个,摔了很多跟头,Unicode 编码的问题,XPath 的问题,XSLT 解析的问题.下面把这些问题的解决方法罗列出来,方便后来者.         使用 XPath 的问题: 由于存在名称空间,你的XPath需要额外的通过 XmlNamespaceManager 类进行一些设置.这个方法是我在:http://www.error-bank.com/

ASPX文件中默认导入的名称空间

ASPX默认导入的名称空间可以直接引用了,使用其它的名称空间就的自行导入了. 默认名称空间  System  System.Collections  System.Collections.Specialized  System.Configuration  System.Text  System.Text.RegularExpressions  System.Web  System.Web.Caching  System.Web.Security  System.Web.Se

C#命名空间与java包的区别分析

  C#命名空间与java包的区别分析         这篇文章主要介绍了C#命名空间与java包的区别,较为详细的分析了C#命名空间与java包的相同点与不同点,非常具有实用价值,需要的朋友可以参考下 本文实例分析了C#命名空间与java包的区别.分享给大家供大家参考.具体分析如下: 相同点: 1.都是为了重用性(reusebility)--软件工程中一个非常重要的目标. 2.C#里面的命名空间和java中的包都属于访问权限的控制机制. 不同点: 1.C#命名空间只是一种逻辑上的结构,它允许所

informatica 自定义java组件调用的java包在哪里

问题描述 informatica 自定义java组件调用的java包在哪里 查找之前同事做的etl程序,有一个java包的调用,但找不到包从哪里进来的,无法分析逻辑.哪位大神知道自定义java组件的用法?不吝赐教 解决方案 查找class来自哪个包 XXXXXTools.class.getProtectionDomain().getCodeSource().getLocation()