国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Java中的構造方法this、super的用法詳解

2024-07-14 08:41:37
字體:
來源:轉載
供稿:網友

1、構造方法

定義:與類同名沒有返回值的方法稱為構造方法;

public class test1 {private String name;private int age;public test1(){}}

上面的test1()是默認構造方法,即使沒有定義java虛擬機在運行的時候也會自動生成,

當然如果定義了重載的構造方法便不會自動生成;

構造方法的作用有兩點1.通過構造方法建立一個對象;2.通過構造方法可以快速的賦初值;

public class Main {public static void main(String[] args) {test1 t1=new test1();//new后面加上構造方法建立了一個對象}}

而如果類中有其它屬性的話可以有構造方法的重載:

public test1(String name, int age) {this.name = name;this.age = age;}

利用重載的構造方法可以很快速的給對象賦初值,特別是對于private的屬性,如果用getter和setter很不方便;

public static void main(String[] args) {test1 t1=new test1();test1 t2=new test1("bob", 18);System.out.println(t1);System.out.println(t2);}

輸出結果:

test1 [name=null, age=0]
test1 [name=bob, age=18]

t1沒有賦初值所有它里面的值是系統設置的初值;

t2利用有參的構造方法,直接給屬性設置了初值,非常的方便,就不用setter方法來一個個設置值;

2. this

誰調用指向誰,是指向調用的對象;

舉例說明:

在上面的test1 類中加上以下fly()方法:

public void fly(){System.out.println(this.name+"會飛");//this指向調用的對象}

在運行中調用:

public static void main(String[] args) {test1 t1=new test1();test1 t2=new test1("bob", 18);t1.fly();//方法中的this指向t1t2.fly();//方法中的this指向t2// System.out.println(t1);// System.out.println(t2);}

結果如下:

null會飛
bob會飛

另外this還需要注意的一點是用在構造方法中:

public test1(String name, int age) {this();//在運行構造方法進行屬性賦值前是一定會先調用無參數的構造方法this.name = name;this.age = age;}

當然構造方法調用主要看this(參數列表)看圓括號里面的參數列表和哪一個構造方法相同就執行哪一個構造方法;

2. super:指向父類,調用父類的屬性和方法;

其實使用起來和this關鍵字差不多;

public test1(){super();}

上面的super(()調用的是父類的構造方法,如果沒有繼承父類的話,那么它的父類是指向object(所有類的超類);

使用:suiper關鍵字加“ . ”可以訪問父類可以訪問的屬性和方法,一般用于區分被子類重寫了的方法;

使用this(參數列表)和super(參數列表)的構造方法注意事項:

a.  只能夠位于構造方法的第一行;

b. 不能同時出現在一個構造方法中;

c. 總是會先訪問完父類的構造方法在訪問子類里面的構造方法;

總結

以上所述是小編給大家介紹的Java中的構造方法this、super的用法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临清市| 青州市| 灵台县| 荔浦县| 嘉峪关市| 泗洪县| 武山县| 全州县| 平泉县| 永顺县| 莎车县| 辽阳市| 乐陵市| 洞口县| 崇信县| 洱源县| 汉阴县| 英德市| 樟树市| 宜昌市| 枞阳县| 历史| 蒙山县| 五峰| 利津县| 渭南市| 巴林右旗| 永寿县| 岐山县| 安国市| 周口市| 西吉县| 犍为县| 拜城县| 定陶县| 洮南市| 临潭县| 旌德县| 济宁市| 皮山县| 太白县|