什麼時候應該在基類和受保護方法中使用靜態方法? (可使用base.MethodName派生類中調用)什麼時候應該在基類中聲明靜態方法?
0
A
回答
2
時,當你想只後代調用從基本方法的方法不依賴於
保護對象的靜力狀態,才應使用。
Base.Method一般覆蓋方法
+1
對象的狀態 - >特定時刻私有和公共字段/屬性的值。 – 2011-02-10 05:53:22
1
保護和靜態時使用的是不是排他性的。
保護意味着您允許派生類訪問基本方法。
static表示方法不需要訪問實例的狀態。通常被稱爲類方法而不是實例方法。
base關鍵字僅在從基類中覆蓋成員時纔有用(然後基礎成員通常被標記爲虛擬)。這允許您在派生類中重載它時引用基本成員。
1
靜態方法的一個好處是隻有一個代碼副本保留在內存中。如果你有很多方法的對象的大集合,這可能特別有用。換句話說,它可以減少你的內存佔用。在多線程體系結構中對共享數據進行操作時,您可能會發現更容易或更直觀的方式來控制受保護的代碼塊。但是,您可能會發現將對象的鑄造(基類)實例轉換爲其基類靜態方法之一時會在語法上令人不快,並且一些開發人員可能會對此編碼風格感到困惑,因此評論此類代碼總是一個好主意。
相關問題
- 1. 什麼時候應該在PHP類中聲明變量?
- 2. JAVA:什麼時候該類應該是靜態或動態的
- 3. 什麼時候應該寫靜態方法?
- 4. 什麼時候應該使用靜態方法?
- 5. 什麼時候應該使用公共靜態方法
- 6. 什麼時候我們應該去java中的靜態類,變量和方法
- 7. 什麼時候應該寫在asp.net類的靜態函數
- 8. 只有靜態方法的輔助類聲明應該是什麼?
- 9. 在非靜態類中聲明一個靜態方法的意義是什麼?
- 10. 什麼時候應該創建一個靜態類?
- 11. 什麼時候應該在一個類中使用靜態方法,並且有什麼好處?
- 12. createOperate方法不能被聲明爲靜態;靜態方法只能在靜態或頂級類型中聲明
- 13. 在Java中,如果一個方法使用靜態成員,爲什麼它本身應該聲明爲靜態?
- 14. 什麼時候應該在Java類的源代碼中的方法之後聲明字段?
- 15. 什麼時候應該使用使用聲明?
- 16. 爲什麼我們要在普通類中聲明靜態類?
- 17. Python:什麼時候應該使用子類而不是方法?
- 18. 誰和什麼時候應該調用基於AbstractAccountAuthenticator的類的方法confirmCredentials?
- 19. 什麼時候應該在java中的INTERFACE中聲明一個CLASS?
- 20. RestTemplate應該靜態全局聲明?
- 21. 什麼時候使用C#中的'靜態方法'
- 22. 導入DLL時爲什麼要聲明靜態方法和Extern方法?
- 23. 聲明在靜態類
- 24. 什麼時候應該在Silverlight中調用Focus方法
- 25. 我什麼時候應該重寫等方法在Java中
- 26. 什麼時候你會聲明Java中的靜態數據結構?
- 27. 爲什麼不能在類中聲明const靜態字符串
- 28. 我的退貨聲明和靜態方法有什麼問題
- 29. 什麼是聲明靜態可變值的正確方法
- 30. 爲什麼我們要聲明一個靜態方法
你的意思是「**聲明**靜態方法」(如在你的問題標題中)或「**使用**靜態方法」(如你的問題的主體)? – 2011-02-11 19:25:23