溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java中重載構(gòu)造的原理是什么

發(fā)布時(shí)間:2021-05-10 17:33:15 來源:億速云 閱讀:155 作者:Leah 欄目:編程語言

Java中重載構(gòu)造的原理是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

Java可以用來干什么

Java主要應(yīng)用于:1. web開發(fā);2. Android開發(fā);3. 客戶端開發(fā);4. 網(wǎng)頁開發(fā);5. 企業(yè)級應(yīng)用開發(fā);6. Java大數(shù)據(jù)開發(fā);7.游戲開發(fā)等。

帶參數(shù)方法

【1】無參數(shù),無返回值

void 方法名(){方法體;}

 【2】無參數(shù),有返回值

int 方法名(){方法體;}

 【3】有參數(shù),無返回值

void 方法名(int num){方法體;}

【4】有參數(shù),有返回值

int 方法名(int num){方法體;}

可變參數(shù)與數(shù)組參數(shù)的區(qū)別

【1】可變參數(shù)傳參靈活,,可以無參,可以多個參數(shù),可以數(shù)組;

    數(shù)組參數(shù)只能傳遞數(shù)組

【2】可變參數(shù)必須放在最后

    數(shù)組可以放在任意位置

【3】可變參數(shù)只能有一個;

    數(shù)組參數(shù)可以有多個。

遞歸算法

遞歸:程序調(diào)用自身的算法。

條件:1.調(diào)用方法本身。

      2.出口

嵌套for循環(huán) 和  用遞歸實(shí)現(xiàn) 的比較

棧 主要是用來存放棧幀的,每執(zhí)行一個方法就會出現(xiàn)壓棧操作,所以采用遞歸的時(shí)候產(chǎn)生的棧幀比較多,遞歸就會影響到內(nèi)存,非常消耗內(nèi)存,而使用for循環(huán)就執(zhí)行了一個方法,壓入棧幀一次,只存在一個棧幀,所以比較節(jié)省內(nèi)存。

封裝

封裝定義:隱藏對象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對外提供公共的訪問方式。

使用封裝的好處

         1、良好的封裝能夠減少耦合。

         2、類內(nèi)部的結(jié)構(gòu)可以自由修改。

         3、可以對成員進(jìn)行更精確的控制。

         4、隱藏信息,實(shí)現(xiàn)細(xì)節(jié)。

public class Husband {
  
  /*
   * 對屬性的封裝
   * 一個人的姓名、性別、年齡、妻子都是這個人的私有屬性
   */
  private String name ;
  private String sex ;
  private int age ;
  private Wife wife;
  
  /*
   * setter()、getter()是該對象對外開發(fā)的接口
   */
  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getSex() {
    return sex;
  }

  public void setSex(String sex) {
    this.sex = sex;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }

  public void setWife(Wife wife) {
    this.wife = wife;
  }
}

方法重載

在一個類中,方法名相同,參數(shù)列表(個數(shù),順序,類型)不同。與返回值無關(guān)。

作用:方便記憶和使用。

重載方法不同的方式

在java中重載方法有三種方式,它們分別是:

  • 通過改變參數(shù)的數(shù)量

  • 通過更改數(shù)據(jù)類型

  • 通過改變參數(shù)排列順序

注意:在java中,只通過更改方法的返回類型來實(shí)現(xiàn)方法重載是不可以的。

構(gòu)造器

系統(tǒng)會自動創(chuàng)建一個構(gòu)造方法(構(gòu)造器)默認(rèn)構(gòu)造。

如果沒有顯示的定義構(gòu)造器,那么系統(tǒng)會自動定義一個構(gòu)造器,叫默認(rèn)構(gòu)造器。

可以顯示定義構(gòu)造器,只要顯示定義了構(gòu)造器,那么系統(tǒng)調(diào)用的是顯示定義的構(gòu)造器

無參構(gòu)造,只能在創(chuàng)建對象的時(shí)候才能調(diào)用

注意:1.沒有任何返回值

      2.名字和類名必須一致

作用:初始化對象。

構(gòu)造器和訪問器的區(qū)別

1.構(gòu)造器 創(chuàng)建完對象,所有的屬性都初始化完成、

 訪問器不能。

2.構(gòu)造器 創(chuàng)建對象的時(shí)候初始化,可以一次給所有屬性初始化

   訪問器需要在創(chuàng)建對象后,逐個調(diào)用賦值

3.創(chuàng)建對象后,想要修改屬性值那么需要用訪問器。

構(gòu)造器和普通方法的區(qū)別

1.構(gòu)造器就是用來初始化對象的。

   普通方法是為了完成某個特定的功能

2.構(gòu)造器只能在創(chuàng)建對象的時(shí)候調(diào)用new

   普通方法在使用的時(shí)候可以隨意調(diào)用,不調(diào)用就不執(zhí)行

初始化對象

1.成員變量默認(rèn)初始化

2.聲明處初始化或構(gòu)造塊初始化

3.構(gòu)造器初始化

構(gòu)造塊

定義:在類中

class 類名{

  {
    構(gòu)造塊:
    作用:解決構(gòu)造器中的屬性值相同,代碼重用的問題。
  }

}

本類構(gòu)造器調(diào)用

this();//

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI