最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中的構(gòu)造方法this、super的用法詳解

 更新時間:2018年07月17日 16:11:50   作者:java學(xué)習(xí)中的菜逼  
這篇文章較詳細的給大家介紹了Java中的構(gòu)造方法this、super的用法,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧

1、構(gòu)造方法

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

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

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

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

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

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

而如果類中有其它屬性的話可以有構(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方法來一個個設(shè)置值;

2. this

誰調(diào)用指向誰,是指向調(diào)用的對象;

舉例說明:

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

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

在運行中調(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會飛
bob會飛

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

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

當然構(gòu)造方法調(diào)用主要看this(參數(shù)列表)看圓括號里面的參數(shù)列表和哪一個構(gòu)造方法相同就執(zhí)行哪一個構(gòu)造方法;

2. super:指向父類,調(diào)用父類的屬性和方法;

其實使用起來和this關(guān)鍵字差不多;

public test1(){
super();
}

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

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

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

a.  只能夠位于構(gòu)造方法的第一行;

b. 不能同時出現(xiàn)在一個構(gòu)造方法中;

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

總結(jié)

以上所述是小編給大家介紹的Java中的構(gòu)造方法this、super的用法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

凌海市| 望城县| 寿宁县| 建始县| 大方县| 阿瓦提县| 德安县| 崇州市| 绥江县| 宁夏| 宜君县| 扎囊县| 昭觉县| 宜城市| 辰溪县| 嘉定区| 元氏县| 马关县| 镇原县| 广丰县| 洛阳市| 明光市| 孟村| 阿拉尔市| 手机| 大埔县| 江山市| 阿克苏市| 临澧县| 中阳县| 会同县| 临西县| 天峨县| 奉贤区| 巴南区| 集贤县| 楚雄市| 海兴县| 商丘市| 华亭县| 南城县|