黑马程序员技术交流社区

标题: 有关 静态导入的 [打印本页]

作者: 踏雪风暴    时间: 2014-7-7 12:10
标题: 有关 静态导入的
本帖最后由 踏雪风暴 于 2014-7-9 09:25 编辑

代码简写了,
import java.util.*;
import static  java.util.Arrays.*;     
import static java.util.Collections.*;

class  aa
{
        public static void main(String[] args)
        {
                int[] arr = {2,1,5};
                sort(arr);
        
                ArrayList al = new ArrayList();
                al.add(1);        
                 sort(al);                  
        }
}
我想问下  为什么 这两个 sort   不用 类名 区分呢?   与我知道的  貌似矛盾 啊
sort  分别在Arrays ,   Collections 中不应该是重载吧。。



作者: blue_sky    时间: 2014-7-7 12:30
下面的两个sort根据形参的传入类型,自动匹配!
作者: OCTSJimmy    时间: 2014-7-7 12:38
这是函数重载吧……
下面的俩sort的参数类型不一样,所以重载。
重载的标识是:
1、函数名相同
2、参数列表不同(参数个数不同、参数类型不同、参数顺序不同(相当于参数类型不同))
作者: 寻得美好    时间: 2014-7-7 12:40
应该是函数的重载,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。在这种情况下,该方法就被称为重载,这个过程称为方法重载。
作者: 導ぷ仙″兲蕐    时间: 2014-7-7 13:12
import static 静态导入
作者: 踏雪风暴    时间: 2014-7-7 13:34
blue_sky 发表于 2014-7-7 12:30
下面的两个sort根据形参的传入类型,自动匹配!

没那么先进吧?   又不是 函数重载的。。。
作者: 踏雪风暴    时间: 2014-7-7 13:36
導ぷ仙″兲蕐 发表于 2014-7-7 13:12
import static 静态导入

是 静态导入  但不是 同名了吗?为何没区,却可行的
作者: 導ぷ仙″兲蕐    时间: 2014-7-7 14:04
踏雪风暴 发表于 2014-7-7 13:36
是 静态导入  但不是 同名了吗?为何没区,却可行的

应该是因为 两个类中的sort参数没有重复的,类似重载,如果参数也相同应该编译器就会报错了
作者: blue_sky    时间: 2014-7-7 16:59
踏雪风暴 发表于 2014-7-7 13:34
没那么先进吧?   又不是 函数重载的。。。

sort后面传入的参数决定的。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2