我的Java項目中有兩個類不相互關聯(一個是從線程繼承而來的,另一個是自定義對象,但它們都需要使用相同的函數,它需要兩個字符串參數,並執行soem文件寫入的東西,我最好把這個函數放在哪裏?代碼複製是醜陋的,但我也不想爲這一個函數創建一個全新的類。我有我缺少一個很明顯的方式在這裏做到這一點的感覺,但我想不出一個簡單的方法。在兩個不相關的Java類中使用函數
0
A
回答
1
[功能],這需要兩個字符串參數並執行SOEM文件寫入東西
正如其他人所建議的,可以放置在一個單獨的類,它的功能,無論是現有的類可以,然後訪問。其他人建議調用類Utility
或類似的東西。我建議而不是以這種方式命名課程。我的反對意見是雙重的。
- 你會期望你的程序中的所有代碼都是有用的。也就是說,它有實用程序,所以這樣一個名稱沒有傳達關於該類的信息。
- 可能會認爲
Utility
是一個合適的名稱,因爲該類別是被其他人利用了。但在這種情況下,名稱描述的是使用的,而不是的。班級應該按照他們所做的來命名,而不是如何使用它們,因爲他們如何使用它們可能會改變,而不會改變它們。考慮Java有一個string
類,它可以用來保存名稱,描述或文本片段。班級用「一串字符」來做事情;它可能會或可能不會用於名稱,所以string
是一個很好的名字,但name
不是。
所以我建議爲該班級設置一個不同的名稱。描述它對文件進行的操作類型或描述文件格式的東西。
1
創建一個Utility
類,並把所有常見的實用方法在裏面。
0
您可以在其中一個類中使函數靜態,然後在另一個類中引用靜態方法,前提是沒有使用要求該對象已經實例化的變量。
或者,創建另一個類來存儲所有類似的靜態方法。
1
聽起來像只有靜態函數的FileUtils
類的理想候選人。看看SwingUtilities
看看我在說什麼。
0
回答你的問題的第一部分 - 就我所知,在java中不可能具有獨立的功能;人格 - 功能必須進入課堂。
第二部分更有趣 - 實用類是一個好主意。更好的想法可能是擴展KitsuneYMG寫的東西;讓你的班級爲自己的閱讀/寫作負責。 然後將讀/寫操作委託給實用程序類。這允許您獨立於其他文件操作來操作您的讀/寫操作。
只是我2C(+:
相關問題
- 1. 如何在幾個java類中使用相同的函數?
- 2. 兩個大概不相關的類之間的Java鑄造
- 3. Excel:將兩個函數相互關聯
- 4. 如何在兩個相關類中使用msclr \ marshal_cppstd
- 5. 重構包含半相關和半相關函數的兩個類時使用哪種設計模式?
- 6. 在一個頁面中使用相同的javascript函數兩次
- 7. 在兩個不同的類中使用相同的對象
- 8. Java中的相關類
- 9. 在java中無法使用兩個調用函數
- 10. 繪製兩個函數相關值的「關係」
- 11. 在幾個不相關的函數中使用常量的正確方法
- 12. 如何在c#中使用泛型,其中兩個不相關的類具有相同的屬性?
- 13. 在SQL中比較兩個不相關的計數
- 14. 相乘兩個矩陣從不同的Java中的類
- 15. 在jQuery中使用兩個ScrollTop()函數?
- 16. 使用兩個不同包中的相同對象JAVA?
- 17. java兩組數字在構造函數的兩個字段中?
- 18. oracle - 行中兩個不相關的類別 - 如何索引?
- 19. 使兩個函數在Java中一個接一個地運行
- 20. 類型綁定爲兩個不相關的類型
- 21. 兩個類的構造函數互相調用
- 22. 如何結合使用EF的兩個相關模型的相關數據?
- 23. 爲什麼兩個類可以在JAVA中互相引用?
- 24. 在java中有兩個相同的關鍵字?
- 25. Java繼承 - 使用相同方法的兩個類
- 26. 在主函數中使用類時出現兩個錯誤C++
- 27. 調用不同類在java中的主類的函數
- 28. 在一個類的不同函數中使用相同變量獲取值
- 29. 在C#或OOP中,兩個類應該相互引用哪些是相關的?
- 30. 是否有可能使用相同的名稱在Java中加載兩個不同的類中的一個?
寫入整個字工具將不僅僅是的Util更好,但概念的同 – mauris 2011-01-27 13:07:13