Java 方法簽名

來源:互聯網
上載者:User

標籤:java   方法簽名   

方法的名字和參數列表成為方法的簽名。注意,方法簽名不包括方法的傳回型別。本文通過測試理解參數列表的真正含義,以及在繼承中重寫方法時方法的返回值與父類中方法的返回值應該有怎樣的關係。

這裡有三個輔助類:

package methodsign;public class Ancestor {}

package methodsign;public class Parent extends Ancestor {}

package methodsign;public class Other {}

下面是測試類別,測試結果在注釋中說明:

package methodsign;/** * 測試方法簽名 * 方法的名字和參數列表稱為方法的簽名 * @author yuncong * */public class Person {private String name;private String gender;private int age;public Person() {// TODO Auto-generated constructor stub}/** * 由構造器1和構造器2不可同時存在可知,方法簽名的參數列表具體是指參數的類型列表; * 由構造器1和構造器3可以同時存在可知,方法簽名的參數類型列表還與參數類型的順序有關,也就是說, * 即使方法括弧中的參數個數和類型完全一樣,只要參數類型的順序不同,也是不同的參數類型列表 */// 構造器1public Person(String name, String gender, int age) {super();this.name = name;this.gender = gender;this.age = age;}// 構造器2public Person(String gender, String name, int age) {super();this.name = name;this.gender = gender;this.age = age;}// 構造器3public Person(String name, int age, String gender) {super();this.name = name;this.age = age;this.gender = gender;}public Ancestor getAncestor() {return new Ancestor();}}

package methodsign;public class Student extends Person {/** * 方法1是正確的,方法2是錯誤的,說明在子類中重寫父類的方法,方法的傳回值 * 必須與父類中該方法的傳回值一樣或者是父類中該方法傳回值的子類 */// 方法1public Parent getAncestor() {return new Parent();}// 方法2public Other getAncestor() {return new Other();}}


Java 方法簽名

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.