从前面能够看到,GregorianCalendar类有多个构造器。能够使用:ide
- GregorianCalendar today = new GregorianCalendar();
或者spa
- GregorianCalendar deadline = new GregorianCalendar(2099, Calendar.DECEMBER, 31);
这种特征叫作重载(overloading)。若是多个方法(好比,GregorianCalendar构造器方法)有相同的名字、不一样的参数,便产生了重载。编译器必须挑选出具体执行哪一个方法,它经过用各个方法给出的参数类型与特定方法调用所使用的值类型进行匹配来挑选出相应的方法。若是编译器找不到匹配的参数,或者找出多个可能的匹配,就会产生编译时错误(这个过程被称为(重载解析(overloading resolution)。)编译器
注释:Java容许重载任何方法,而不仅是构造器方法。所以,要完整地描述一个方法,须要指出方法名以及参数类型。这叫作方法的签名(signature)。例如,String类有4个称为indexOf的公有方法。它们的签名是it
- indexOf(int)
- indexOf(int, int)
- indexOf(String)
- indexOf(String, int)
返回类型不是方法签名的一部分。也就是说,不能有两个名字相同、参数类型也相同却返回不一样类型值的方法。io