C#命名空间

当多人编程的时候,不小心用了相同的类名称,这往往导致了类冲突,就像我叫张三,你也叫张三,这时李四喊了一句张三,到底是叫你还是叫我呢?

为此,C# 引入命名空间 的概念,

命名空间是提供一种让,在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。

显然,类名是不能重名的。但是类不像变量一样有作用域。

想要不重名几乎是不可能的事。

于是我们可以使用命名空间来把类放在不同的地方。

命名空间类似于文件夹,不同文件夹下的文件可以同名。

命名空间使用关键字namespace+空间名定义。使用大括号包围放在他下面的类。

类似于文件夹,命名空间也可以分层。

引用命名空间可以放在文件的开头(不影响顶级语句),或是放在命名空间的开头。
表示只在这个范围引用命名空间。

在命名空间外引用的命名空间,可以在前面加关键字global表示全局引用。
全局是指这个解决方案里的其他源文件。

命名空间的设计目的是提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。

我们举一个计算机系统中的例子,一个文件夹(目录)中可以包含多个文件夹,每个文件夹中不能有相同的文件名,但不同文件夹中的文件可以重名。

using 关键字

using 关键字表明程序使用的是给定命名空间中的名称。例如,我们在程序中使用 System 命名空间,其中定义了类 Console。

您也可以使用 using 命名空间指令,这样在使用的时候就不用在前面加上命名空间名称。该指令告诉编译器随后的代码使用了指定命名空间中的名称。下面的代码演示了命名空间的应用。

如果两个不同空间的类被简写后同名,则这个类会陷入不确定的引用状态。

例如一个 firstNameSpace.function.method() 和一个 secondNameSpace.function.method(),在写了 using firstNameSpace 和 using secondNameSpace 之后,简写都是 function.method(), 则报错 "function" 是 "firstNameSpace.function"和"secondNameSpace.function" 之间的不明确的引用

你可能感兴趣的:(servlet,java,javascript)