從前面能夠看到,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