摘要:
看一个重载造成的恶果:List list=new ArrayList(); for(int i=-3;i<3;i++){ list.add(i); } for(int i=0;i<3;i++){ list.remove(i); } System.out.println(list);结果:[-2, 0, 2]神马情况?竟然不是[-3,-2,1]。原因就是List的remove方法有两个重载remove(E)和remove(int)。而remove(int)是删除第几个... 阅读全文
摘要:
对象的运行时类型并不影响“哪个重载版本将被执行”;选择工作是在编译时候进行的,完全基于参数的编译时类型。看个例子先:package com.wjy.multithread;public class MainTest { public static void show(int a){ System.out.println("Integer"); } public static void show(double a){ System.out.println("Double"); } public static voi... 阅读全文