-6
A
回答
1
由於static
可以在沒有類的任何實例中使用。例如,當您使用Integer.parseInt(...)
時,您使用類Integer
的名稱調用它,但您從未創建實例。
System.out.println(Integer.parseInt("123")); // Called with the name of the class
那麼,如果你可以引用一個實例在static
方法內呢?如果用戶使用類的名稱調用它(不創建任何實例),則該方法不會有任何實例參考。
注意,你也可以調用一個static
方法與實例,但推薦的方法是用類的名字來稱呼它,以強調它是一個static
方法:
Integer i = 0;
System.out.println(i.parseInt("123")); // Can also be called with an instance, but not recommended
0
要哪個實例將在static method(其不與任何實例相關聯)被參照?
答:無/不可判定;它沒有任何意義,因爲可以有0..n個實例。當你創建的那個特定class.Static方法的對象,如果你創建特定類的實例只能訪問實例方法
0
實例方法,纔可以訪問。
相關問題
- 1. 爲什麼實例方法不能覆蓋靜態方法
- 2. 靜態方法不能實現接口方法,爲什麼?
- 3. 爲什麼靜態方法在單例實例中不可用?
- 4. 靜態方法不能引用非靜態方法
- 5. 爲什麼@decorator不能裝飾靜態方法或類方法?
- 6. Mongoose'靜態'方法與'實例'方法
- 7. 靜態方法和實例方法C#
- 8. 靜態方法vs靜態實例
- 9. 非靜態方法不能被引用
- 10. 爲什麼getAppProperty()不是靜態方法?
- 11. 爲什麼使用單例而不是靜態方法?
- 12. 靜態方法vs實例方法,多線程,性能
- 13. 爲什麼最好從方法的類的實例中靜態地調用靜態方法?
- 14. 爲什麼在C#中的靜態方法中通過類實例調用非靜態方法
- 15. 爲什麼我不能在類/靜態方法中使用private,internal,fileprivate方法?
- 16. 爲什麼不是每種方法都是靜態方法?
- 17. 爲什麼getClass()不能用作靜態方法?
- 18. 爲什麼super()不能使用__new__以外的靜態方法?
- 19. 類實例調用靜態方法
- 20. 實例方法被稱爲靜態方法
- 21. 將靜態方法放入靜態類並將實例方法放入靜態類中有什麼區別?
- 22. Python:使用類方法作爲靜態,當它實現爲實例方法
- 23. Java錯誤:靜態方法無法引用非靜態方法
- 24. 爲什麼我不能將此方法標記爲靜態?
- 25. 爲什麼允許靜態方法調用私有方法?
- 26. 靜態方法和非靜態方法有什麼區別?
- 27. 當靜態方法無法從靜態上下文中引用非靜態方法時,這意味着什麼?
- 28. 非靜態方法checkWriteStoragePermission()不能從靜態內容引用
- 29. 非靜態方法不能從靜態上下文中引用?
- 30. Java - 非靜態方法不能從靜態環境中引用
因爲靜態方法沒有綁定到對象實例。 Java如何知道要使用什麼對象?可以在不創建任何實例的情況下調用靜態方法。 – kwatford
可以調用靜態方法而無需實例化該類的對象。如果傳遞給靜態方法的對象實例可以引用實例方法。 –