欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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è)對(duì)象;2.通過構(gòu)造方法可以快速的賦初值;

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

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

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

利用重載的構(gòu)造方法可以很快速的給對(duì)象賦初值,特別是對(duì)于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方法來(lái)一個(gè)個(gè)設(shè)置值;

2. this

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

舉例說明:

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

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

在運(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)用無(wú)參數(shù)的構(gòu)造方法
this.name = name;
this.age = age;
}

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

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

其實(shí)使用起來(lái)和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)造方法;

總結(jié)

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

相關(guān)文章

  • Java飛行記錄器JFR功能實(shí)現(xiàn)過程圖解

    Java飛行記錄器JFR功能實(shí)現(xiàn)過程圖解

    這篇文章主要介紹了Java飛行記錄器JFR功能實(shí)現(xiàn)過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Java中的BlockingQueue阻塞隊(duì)列原理以及實(shí)現(xiàn)詳解

    Java中的BlockingQueue阻塞隊(duì)列原理以及實(shí)現(xiàn)詳解

    這篇文章主要介紹了Java中的BlockingQueue阻塞隊(duì)列原理以及實(shí)現(xiàn)詳解,在最常見的使用到這個(gè)阻塞隊(duì)列的地方,就是我們耳熟能詳?shù)木€程池里面了,作為我們線程池的一大最大參與者,也是AQS的一個(gè)具體實(shí)現(xiàn),需要的朋友可以參考下
    2023-12-12
  • Java源碼重讀之ConcurrentHashMap詳解

    Java源碼重讀之ConcurrentHashMap詳解

    ConcurrentHashMap(CHM)是日常開發(fā)中使用頻率非常高的一種數(shù)據(jù)結(jié)構(gòu)。本文將從源碼角度帶大家深入了解一下ConcurrentHashMap的使用,需要的可以收藏一下
    2023-05-05
  • RabbitMQ?Stream插件使用案例代碼

    RabbitMQ?Stream插件使用案例代碼

    這篇文章主要介紹了RabbitMQ?Stream插件使用案例代碼,2.4版為RabbitMQ流插件引入了對(duì)RabbitMQStream插件Java客戶端的初始支持,需要的朋友可以參考下
    2024-04-04
  • 解決springboot中自定義JavaBean返回的json對(duì)象屬性名稱大寫變小寫問題

    解決springboot中自定義JavaBean返回的json對(duì)象屬性名稱大寫變小寫問題

    開發(fā)過程中發(fā)現(xiàn)查詢返回的數(shù)據(jù)出現(xiàn)自定義的JavaBean的屬性值大小寫格式出現(xiàn)問題,導(dǎo)致前端無(wú)法接受到數(shù)據(jù),目前有四種解決方法,根據(jù)大佬的經(jīng)驗(yàn)之談,前兩種是最簡(jiǎn)單便捷的,后兩種是比較通用的方法,需要的朋友可以參考下
    2023-10-10
  • IDEA集成MyBatis Generator插件的使用

    IDEA集成MyBatis Generator插件的使用

    這篇文章主要介紹了IDEA集成MyBatis Generator插件的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 使用Spring?Boot進(jìn)行單元測(cè)試詳情

    使用Spring?Boot進(jìn)行單元測(cè)試詳情

    這篇文章主要介紹了使用Spring?Boot進(jìn)行單元測(cè)試詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • springboot獲取URL請(qǐng)求參數(shù)的多種方式

    springboot獲取URL請(qǐng)求參數(shù)的多種方式

    這篇文章主要介紹了springboot獲取URL請(qǐng)求參數(shù)的多種方式,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • JAVA構(gòu)造方法/構(gòu)造器以及this使用方式

    JAVA構(gòu)造方法/構(gòu)造器以及this使用方式

    這篇文章主要介紹了JAVA構(gòu)造方法/構(gòu)造器以及this使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • SpringBoot 如何實(shí)時(shí)刷新靜態(tài)文件

    SpringBoot 如何實(shí)時(shí)刷新靜態(tài)文件

    這篇文章主要介紹了SpringBoot如何實(shí)時(shí)刷新靜態(tài)文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論