這篇文章給大家介紹this中super構(gòu)造方法怎么在Java中使用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1、構(gòu)造方法
定義:與類同名沒有返回值的方法稱為構(gòu)造方法;
public class test1 {
private String name;
private int age;
public test1(){
}
}上面的test1()是默認(rèn)構(gòu)造方法,即使沒有定義java虛擬機(jī)在運(yùn)行的時(shí)候也會(huì)自動(dòng)生成,
當(dāng)然如果定義了重載的構(gòu)造方法便不會(huì)自動(dòng)生成;
構(gòu)造方法的作用有兩點(diǎn)1.通過構(gòu)造方法建立一個(gè)對象;2.通過構(gòu)造方法可以快速的賦初值;
public class Main {
public static void main(String[] args) {
test1 t1=new test1();//new后面加上構(gòu)造方法建立了一個(gè)對象
}
}而如果類中有其它屬性的話可以有構(gòu)造方法的重載:
public test1(String name, int age) {
this.name = name;
this.age = age;
}利用重載的構(gòu)造方法可以很快速的給對象賦初值,特別是對于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);
}輸出結(jié)果:
test1 [name=null, age=0]
test1 [name=bob, age=18]
t1沒有賦初值所有它里面的值是系統(tǒng)設(shè)置的初值;
t2利用有參的構(gòu)造方法,直接給屬性設(shè)置了初值,非常的方便,就不用setter方法來一個(gè)個(gè)設(shè)置值;
2. this
誰調(diào)用指向誰,是指向調(diào)用的對象;
舉例說明:
在上面的test1 類中加上以下fly()方法:
public void fly(){
System.out.println(this.name+"會(huì)飛");//this指向調(diào)用的對象
}在運(yùn)行中調(diào)用:
public static void main(String[] args) {
test1 t1=new test1();
test1 t2=new test1("bob", 18);
t1.fly();//方法中的this指向t1
t2.fly();//方法中的this指向t2
// System.out.println(t1);
// System.out.println(t2);
}結(jié)果如下:
null會(huì)飛
bob會(huì)飛
另外this還需要注意的一點(diǎn)是用在構(gòu)造方法中:
public test1(String name, int age) {
this();//在運(yùn)行構(gòu)造方法進(jìn)行屬性賦值前是一定會(huì)先調(diào)用無參數(shù)的構(gòu)造方法
this.name = name;
this.age = age;
}當(dāng)然構(gòu)造方法調(diào)用主要看this(參數(shù)列表)看圓括號里面的參數(shù)列表和哪一個(gè)構(gòu)造方法相同就執(zhí)行哪一個(gè)構(gòu)造方法;
2. super:指向父類,調(diào)用父類的屬性和方法;
其實(shí)使用起來和this關(guān)鍵字差不多;
public test1(){
super();
}上面的super(()調(diào)用的是父類的構(gòu)造方法,如果沒有繼承父類的話,那么它的父類是指向object(所有類的超類);
使用:suiper關(guān)鍵字加“ . ”可以訪問父類可以訪問的屬性和方法,一般用于區(qū)分被子類重寫了的方法;
使用this(參數(shù)列表)和super(參數(shù)列表)的構(gòu)造方法注意事項(xiàng):
a. 只能夠位于構(gòu)造方法的第一行;
b. 不能同時(shí)出現(xiàn)在一個(gè)構(gòu)造方法中;
c. 總是會(huì)先訪問完父類的構(gòu)造方法在訪問子類里面的構(gòu)造方法;
關(guān)于this中super構(gòu)造方法怎么在Java中使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
標(biāo)題名稱:this中super構(gòu)造方法怎么在Java中使用-創(chuàng)新互聯(lián)
標(biāo)題URL:http://chinadenli.net/article10/dpgodo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、用戶體驗(yàn)、微信小程序、企業(yè)建站、品牌網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容