我刚读过Kathy Sierra和Bert Bates在"Sun microsystems"担任主教练的书"Sun Certified Java Programmer"(第158页)中的这一行:
多态性适用于覆盖,而不是重载.
但是其他一些书和文章说重载也是多态的一种形式..我很困惑..请帮忙..
在下面的代码中,我们创建了两个不同的TreeSet对象.
我们为第一个对象分配了一些值,然后我们将第一个对象的子集分配给第二个对象.然后,我们仅向第一个对象添加元素(609).那么为什么这个新元素会出现在两个对象中呢?
import java.util.*;
public class Explorer1 {
public static void main(String[] args) {
TreeSet<Integer> s = new TreeSet<Integer>();
TreeSet<Integer> subs = new TreeSet<Integer>();
for(int i = 606; i < 613; i++)
if(i%2 == 0) s.add(i);
subs = (TreeSet)s.subSet(608, true, 611, true);
s.add(609);
System.out.println(s + " " + subs);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:[606,608,609,610,612] [608,609,610]