namespace 組織類別。package 對應,目錄結構需與套件名一致。| C# | Java | |
|---|---|---|
| public | 所有專案可見 | 所有類別可見 |
| default (無修飾符) | internal:同專案可見 | 同套件可見 |
| C# (4種) | Java (4種) | |
|---|---|---|
| public | 所有類別可見 | 所有類別可見 |
| protected | 僅子類別可見 | 同套件 + 不同套件子類別可見 |
| private | 類別內部可見 (預設) | 類別內部可見 |
| internal / default | internal:同專案可見 | 同套件可見 (預設) |
| 功能 | C# | Java |
|---|---|---|
| 類別繼承 | : | extends |
| 實作介面 | : | implements |
| 密封類別/最終類別 | sealed | final |
| 常數 | const | final |
| 屬性 | get/set 程式碼區塊 | 欄位 + getter/setter 方法 |
| 部分類別 | partial | 無 |
| 唯讀欄位 | readonly | 無 (用 final + 無 setter) |
| 虛擬/覆寫方法 | virtual/override | 預設皆可覆寫,final 禁止 |
| 靜態建構子/區塊 | 無 | static {} |
| 同步區塊 | lock | synchronized {} |
| 標籤跳轉 | 無 | label: 配合 break/continue |
| 呼叫父類方法 | base.method() | super.method() |
| 型別檢查 | is | instanceof |
| foreach 迴圈 | foreach (int i in arr) | for (int i : arr) |
partial class,大型類別拆分需用內部類別或多檔案組合模式。protected 比 C# 更寬鬆(包含套件可見性)。