Effective Java 3e - Item 25: Limit source files to a single top-level class 限制一個檔案只有一個top-level class 筆記。
Java雖然允許在一份java檔定義多個top-level class,但實務中請勿這樣做。一份java檔應該只能定義一個top-level class。
例如不應該像下面在Employee.java
檔中定義了兩個top-level class Employee
及Manager
,這樣的做法是錯誤的。例如之後又寫了另一支Manager.java
檔且定義了Manager
則會編譯錯誤。
Employee.java
// 不要在一個檔案(Employee.java)中定義兩個top-level class。 Don't ever do this!
class Employee {
public static final NAME = "Empl."
}
class Manager {
public static final NAME = "Mgr."
}
正確的做法是應該把上面的Manager
單獨取出另外定義在Manager.java
檔。
若兩個類別有強烈的從屬關係,也就是一個類別是另外一個類別的子類別,則可考慮把子類定義為父類中的靜態成員類別(static member class)。
class Employee {
public static final NAME = "Empl."
public static class Manager {
public static final NAME = "Mgr."
}
}
沒有留言:
張貼留言