在 Java 和 C# 中,源代碼以按一定順序排列的頂層聲明開始。Java 和 C# 程序中的聲明只存在少許差別。
Java 中的頂層聲明
在 Java 中,我們可以用 package 關鍵字將類組合在一起。打包的類必須在源文件的第一個可執行的行中使用 package 關鍵字。接著出現的是需要訪問其他包中的類的任何導入語句,之後是類聲明,比如:
package ;
import .;
class Customer
{
...
}
C# 中的頂層聲明
C# 使用命名空間的概念,通過 namespace 關鍵字將邏輯上相關的類組合在一起。這些做法類似於 Java 包,而具有相同名稱的類可以出現在兩個不同的命名空間中。要訪問定義在當前命名空間之外的命名空間中的類,我們可以使用緊跟該命名空間名的 using 關鍵字,如下所示:
using .;
namespace
{
class Customer
{
...
}
}
注意,using 語句可以完全合法地放在命名空間聲明中,在這種情況下,這樣導入的命名空間就形成了包含命名空間的一部分。
Java 不允許在相同的源文件中有多個包,而 C# 允許在一個 .cs 文件中有多個命名空間:
namespace AcmeAccounting
{
public class GetDetails
{
...
}
}
namespace AcmeFinance
{
public class ShowDetails
{
...
}
}