public static void main(String[] args)throws Exception{
List<Integer> list = new ArrayList<Integer>();
list.add("abc");// 1
list.getClass().getMethod("add", Object.class).invoke(list,"abc");//2
}
程序中,1句和2句都是想实现一样的功能。1编译不能通过。2可以编译通过。我想问的是,为什么编译器允许2通过1不能通过?编译器在编译过程中到底是要检查些什么呢? |
|