在Java中,我们可以导入单个类以及整个类(包).
举个例子
import java.util.*
包括
import java.util.ArrayList;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.List;
import java.util.Iterator;
import java.util.Map;
除了代码的长度,以任何方式使用每种方法有什么特别的优势吗?内存分配?性能?
coo*_*ird 26
两者都没有性能或内存分配优势 - 它们都将编译为相同的字节码.
该import语句是告诉编译器在哪里找到源代码所引用的类.
但是,仅按类导入是有利的.如果在两个包中存在具有完全相同名称的类,则将引发关于引用哪个类的冲突.
一个这样的例子是java.awt.List类和java.util.List类.
假设我们想要使用a java.awt.Panel和a java.util.List.如果源导入包,如下所示:
import java.awt.*;
import java.util.*;
然后,提到这个List课将是一个暧昧的:
List list; // Which "List" is this from? java.util? java.awt?
但是,如果显式导入,则结果为:
import java.awt.Panel;
import java.util.List;
List list; // No ambiguity here -- it refers to java.util.List.
您选择使用的导入仅在解析类名时产生编译时差异.
所以唯一的优点/缺点适用于可读性.
只导入你需要的最小值似乎更好,因为有人可以看看你实际使用的是什么.也就是说,IDE可能会处理这个问题,这是一个有争议的问题.
| 归档时间: | 
 | 
| 查看次数: | 8396 次 | 
| 最近记录: |