Java 中一個檔案中的多個類

Siddharth Swami 2023年1月30日 2021年11月18日
  1. 在 Java 中使用巢狀類在單個檔案中包含多個類
  2. 在 Java 中的單個檔案中使用多個非巢狀類
Java 中一個檔案中的多個類

在本文中,我們將討論 Java 中單個檔案中的多個類。

有多種方法可以在一個檔案中宣告多個類。我們將討論實現這一點的兩種標準方法。

在 Java 中使用巢狀類在單個檔案中包含多個類

在此方法中,類是在類中定義的。這種方法使我們能夠對只在一個地方使用的類進行邏輯分組。

這些分為兩類。首先是宣告為 static 的靜態巢狀類,另一個是非靜態型別的內部類。

下面的程式碼演示了這種方法。

class Outer_Class
{
    // static member
    static int x = 20;
     
    // instance(non-static) member
    int y = 20;
    private static int outer_private = 40;
     
    // static nested class
    static class StaticNestedClass
    {
        void display()
        {
            System.out.println("outer_x = " + x);
            System.out.println("outer_private = " + outer_private);
        }
    }
}

public class NestedDemo
{
    public static void main(String[] args)
    {
        // accessing a static nested class
        Outer_Class.StaticNestedClass nestedObject = new Outer_Class.StaticNestedClass();
         
        nestedObject.display();
         
    }
}

輸出:

outer_x = 20
outer_private = 40

在 Java 中的單個檔案中使用多個非巢狀類

我們還可以在 Java 的單個檔案中擁有多個非巢狀類。

我們將通過以下示例更好地理解這一點。

public class Phone {
   Phone() {
      System.out.println("Constructor of phone class.");
   }
   void phone_method() {
      System.out.println("Phone battery is low");
   }
   public static void main(String[] args) {
      Phone p = new Phone();
      Laptop l = new Laptop();
      p.phone_method();
      l.laptop_method();
   }
}
class Laptop {
   Laptop() {
      System.out.println("Constructor of Laptop class.");
   }
   void laptop_method() {
      System.out.println("Laptop battery is low");
   }
}

輸出:

Constructor of phone class.
Constructor of Laptop class.
Phone battery is low
Laptop battery is low

在上面的例子中,程式由兩個類組成,第一個是 Phone 類,第二個是 Laptop 類。

這兩個類都有建構函式和執行函式的方法。當我們執行我們的程式時,會為兩個類建立兩個 .class 檔案。我們可以再次重用 .class 檔案而無需重新編譯程式碼。在輸出中,我們可以看到我們的程式碼已成功執行。

相關文章 - Java Class