2010-08-17 75 views

回答

3

靜態類:頂級類不能聲明爲靜態。只有成員和嵌套頂級類可以定義爲靜態。

如果您希望在沒有明確委派的情況下使用包含類的變量和方法,則聲明成員類。當你聲明一個成員類時,你只能在聲明這個成員類的外部類的對象的上下文中實例化該成員類。如果你想刪除這個限制,你可以聲明成員類是一個靜態類。當你用一個靜態修飾符聲明一個成員類時,它將成爲一個嵌套的頂級類,並且可以像上面解釋的那樣用作一個普通的頂級類。

嵌套的頂級類是帶有靜態修飾符的成員類。嵌套的頂級類與其他任何頂級類相似,只不過它在另一個類或接口中聲明。通常將嵌套的頂級類用作組合相關類的便捷方式,而不創建新的包。

靜態方法:主要用於在實例/應用程序之間共享的實用程序。一個很好的例子是預定義的Math類中的許多實用方法:靜態變量:要在實例之間共享的信息。主要用作常量。

+0

感謝然後何時使用靜態最終和靜態變量 – 2010-08-17 15:59:49

+0

@Suresh:當你想跨實例共享它。 – BalusC 2010-08-17 16:06:22

0

靜態變量:當你永遠需要有一個變量在類的所有實例。 這個變量將在實例之間共享。

靜態類:我通常嘗試避免靜態類並使用單例。 (內部類是例外:如果您不需要訪問外部類變量,則更好地使內部類變爲靜態)

+0

您不能在Java中聲明頂級類爲靜態類。 – 2010-08-17 16:04:48

相關問題