Eclipse / Java-導入java。(namespace)。*是否有害?
導入通配符包可能導致的唯一危害是,如果多個包中有多個同名類,則增加名稱空間沖突的機會。
例如,我要編程使用ArrayListAWT應用程序中的Java CollectionsFramework類,該應用程序使用ListGUI組件顯示信息。為了舉例,我們假設有以下內容:
// ’ArrayList’ from java.utilArrayList<String> strings = new ArrayList<String>();// ...// ’List’ from java.awtList listComponent = new List()
現在,為了使用以上內容,必須至少將這兩個類導入:
import java.awt.List;import java.util.ArrayList;
現在,如果要在包中使用通配符,則import需要以下內容。
import java.awt.*;import java.util.*;
但是,現在我們將有問題!
有一個java.awt.List類和一個java.util.List,因此引用List該類將是不明確的。List如果我們想消除歧義,則必須使用完全限定的類名來引用:
import java.awt.*;import java.util.*;ArrayList<String> strings = new ArrayList<String>();// ...// ’List’ from java.awt -- need to use a fully-qualified class name.java.awt.List listComponent = new java.awt.List()
因此,在某些情況下,使用通配符軟件包import可能會導致問題。
解決方法為何在導入類型時Eclipse采用細粒度的方法?在C#中,我已經習慣了“使用System.Windows.Controls”之類的事情,但是使用Eclipse則更喜歡單獨導入我引用的每個小部件(使用Ctrl+ Shift + O快捷鍵)。如果我知道其中需要多種類型,那么導入整個名稱空間是否有任何危害?
相關文章:
1. angular.js - 不適用其他構建工具,怎么搭建angular1項目2. android-studio - Android 動態壁紙LayoutParams問題3. css3 - [CSS] 動畫效果 3D翻轉bug4. node.js - node_moduls太多了5. mysql主從 - 請教下mysql 主動-被動模式的雙主配置 和 主從配置在應用上有什么區別?6. python - django 里自定義的 login 方法,如何使用 login_required()7. 主從備份 - 跪求mysql 高可用主從方案8. mysql優化 - mysql count(id)查詢速度如何優化?9. python如何不改動文件的情況下修改文件的 修改日期10. javascript - git clone 下來的項目 想在本地運行 npm run install 報錯
![css3 - [CSS] 動畫效果 3D翻轉bug](http://www.cgvv.com.cn/attached/image/news/202304/110831f073.png)