我們可以在單個 Java 程式中宣告多個類嗎?\n


單個 Java 程式包含兩個或多個類,在 Java 中可以透過兩種方式實現。

在單個 Java 程式中實現多個類的兩種方式

  • 巢狀類
  • 多個非巢狀類

編譯器如何處理多個非巢狀類

在下面的示例中,Java 程式包含兩個類,一個類名為 Computer,另一個類名為 Laptop。這兩個類都有自己的建構函式和方法。在 main 方法中,我們可以建立這兩個類的物件並呼叫它們的方法。

示例

線上演示

public class Computer {
   Computer() {
      System.out.println("Constructor of Computer class.");
   }
   void computer_method() {
      System.out.println("Power gone! Shut down your PC soon...");
   }
   public static void main(String[] args) {
      Computer c = new Computer();
      Laptop l = new Laptop();
      c.computer_method();
      l.laptop_method();
   }
}
class Laptop {
   Laptop() {
      System.out.println("Constructor of Laptop class.");
   }
   void laptop_method() {
      System.out.println("99% Battery available.");
   }
}

當我們編譯上述程式時,將建立兩個**.class 檔案**,分別是 Computer.class 和 Laptop.class。這具有以下優勢:我們可以在其他專案中的某個地方重用我們的 .class 檔案,而無需再次編譯程式碼。簡而言之,建立的 .class 檔案的數量將等於程式碼中類的數量。我們可以建立任意數量的類,但建議不要在一個檔案中編寫多個類,因為這會使程式碼難以閱讀,而是可以為每個類建立一個單獨的檔案。

輸出

Constructor of Computer class.
Constructor of Laptop class.
Power gone! Shut down your PC soon...
99% Battery available.

編譯器如何處理巢狀類

一旦編譯包含多個內部類的主類,編譯器將為每個內部類生成單獨的 .class 檔案。

示例

線上演示

// Main class
public class Main {
   class Test1 { // Inner class Test1
   }
   class Test2 { // Inner class Test2
   }
   public static void main(String [] args) {
      new Object() { // Anonymous inner class 1
      };
      new Object() { // Anonymous inner class 2
      };
      System.out.println("Welcome to Tutorials Point");
   }
}

在上述程式中,我們有一個 Main 類,它有四個內部類:**Test1、Test2、匿名內部類 1** 和 **匿名內部類 2**。一旦我們編譯此類,它將生成以下類檔案。

Main.class

Main$Test1.class

Main$Test2.class

Main$1.class 

Main$2.class

輸出

Welcome to Tutorials Point

更新於: 2020年2月6日

15K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.