成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Java之構(gòu)造器

馬龍駒 / 2864人閱讀

摘要:一構(gòu)造器構(gòu)造器的作用是構(gòu)造并初始化實例對象。在的每個類中,至少要有一個構(gòu)造器,沒有定義的話,編譯器將自動插入缺省的構(gòu)造器。一般把構(gòu)造器設(shè)置為訪問權(quán)限,設(shè)置為是為了阻止其他類創(chuàng)建該類的實例。

一. 構(gòu)造器

構(gòu)造器的作用是構(gòu)造并初始化實例對象。當(dāng)創(chuàng)建一個對象時,系統(tǒng)為這個對象的屬性進(jìn)行初始化。

二. 語法
class 類名
{
    變量聲明;
    類的名稱(參數(shù)列表)
    {
         方法體
    }
}

構(gòu)造器和類要有相同的名字,同時避免在構(gòu)造器中定義與實例域重名的局部變量。例如

class student
{
    private String name;
    private int studentID;
    //構(gòu)造器
    public student(String n,int m){
        name=n;
        studentID=m;
    /*定義與實例域重名的局部變量
    *這種錯誤很難被發(fā)現(xiàn)
        String name=n;
        int studentID=m;
       */
    }
}
三. 特點

構(gòu)造器和類具有相同的名字

一個類可以有多個構(gòu)造器

構(gòu)造器可以有0、1或多個參數(shù)

構(gòu)造器沒有返回值和返回類型

構(gòu)造器不能被顯示調(diào)用,總是與new運算符儀器被調(diào)用,在創(chuàng)建一個類的新隊形的同時,系統(tǒng)會自動調(diào)用該類的構(gòu)造器為新對象初始化。

在java的每個類中,至少要有一個構(gòu)造器,沒有定義的話,編譯器將自動插入缺省的構(gòu)造器。
這種默認(rèn)初始化被所有數(shù)值類型設(shè)為0,布爾值為false,所有引用類型的屬性設(shè)置為null

無參數(shù)構(gòu)造器

如果類中提供了至少一個構(gòu)造器,但是沒有提供無參數(shù)的構(gòu)造器,構(gòu)造對象沒有提供參數(shù)就會被視為不合法。

class student
{
    private String name;
    private int studentID;
    //構(gòu)造器
    public student(String name,int studentID){
        this.name=name;
        this.studentID=studentID;
    }
}
student=new student(); //產(chǎn)生錯誤

解決方法:可以為java類保留無參數(shù)的構(gòu)造器,為一個類編寫了有參數(shù)的構(gòu)造器,同時建議為該類編寫一個無參數(shù)的構(gòu)造器。一般把構(gòu)造器設(shè)置為public訪問權(quán)限,設(shè)置為private是為了阻止其他類創(chuàng)建該類的實例。

四.構(gòu)造器重載和調(diào)用 1.方法簽名

一個方法的簽名包括方法名、參數(shù)類型和個數(shù),但不包括返回值。
類的定義中存在兩個或兩個以上的同名成員方法,為了使編譯器能區(qū)分同名的成員方法,使同名方法的參數(shù)個數(shù)或參數(shù)的數(shù)據(jù)類型不同,從而使編譯器能夠挑選具體執(zhí)行某個方法。

class student
{
    private String name;
    private String major;
    private String school;
    private int studentID;
    //構(gòu)造器1
    public student(String name,int studentID){
        this.name=name;
        this.studentID=studentID;
    }
    //構(gòu)造器2
     public student(String school){
        this.school=school;
    }
    //構(gòu)造器3
     public student(String major,int studentID){
        this.major=name;
        this.studentID=studentID;
    }
}
2.調(diào)用另一個構(gòu)造器
class student
{
    private String name;
    private String major;
    private String school;
    private int studentID;
    //構(gòu)造器1
    public student(String name,int studentID){
        this("大山高中") //調(diào)用另一個構(gòu)造器
        this.name=name;
        this.studentID=studentID;
    }
    //構(gòu)造器2
     public student(String school){
        this.school=school;
    }
3.顯式調(diào)用父類構(gòu)造器

當(dāng)我們想調(diào)用超類的的某個方法,但是當(dāng)前類也有相同的方法,這時可以使用super關(guān)鍵字(只是一個指示編譯器調(diào)用超類方法的特殊關(guān)鍵字)。

class A{
    public A(){
        System.out.print("A");
    }
}
class B extends A{
    public B(){
        super();//調(diào)用父類構(gòu)造方法,打印A
        System.out.print("B");
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/65051.html

相關(guān)文章

  • Java面向?qū)ο?/b>

    摘要:類用于描述客觀世界里某一類對象的共同特征,而對象則是類的具體的存在,程序使用類的構(gòu)造器來創(chuàng)建該類的對象。也支持面向?qū)ο蟮娜筇卣鞣庋b繼承和多態(tài)。構(gòu)造器用于對類實例進(jìn)行初始化操作,構(gòu)造器支持重載。 Java是面向?qū)ο蟮某绦蛟O(shè)計語言,Java語言提供了定義類、成員變量、方法等最基本的功能。類可被認(rèn)為是一種自定義的數(shù)據(jù)類型,可以使用類來定義變量。類用于描述客觀世界里某一類對象的共同特征,而對...

    kid143 評論0 收藏0
  • Java構(gòu)造器

    摘要:多個構(gòu)造器的名字相同,但形參列表不同。但一旦使用關(guān)鍵字來調(diào)用構(gòu)造器,將會導(dǎo)致系統(tǒng)重新創(chuàng)建一個對象。此時可以通過關(guān)鍵字調(diào)用相應(yīng)的構(gòu)造器。 構(gòu)造器是創(chuàng)建對象的重要途徑(即使使用工廠模式、反射等方式創(chuàng)建對象,其實質(zhì)依然是依賴于構(gòu)造器),因此,Java類必須包含一個或一個以上的構(gòu)造器。 使用構(gòu)造器執(zhí)行初始化 構(gòu)造器最大的用處就是在創(chuàng)建對象時執(zhí)行初始化。當(dāng)創(chuàng)建一個對象時,系統(tǒng)為這個對象的實例變量...

    Simon_Zhou 評論0 收藏0
  • 樂字節(jié)-Java8新特性方法引用

    摘要:上一篇小樂介紹了新特性函數(shù)式接口,大家可以點擊回顧。中引入方法引用新特性用于簡化應(yīng)用對象方法的調(diào)用,方法引用是用來直接訪問類或者實例的已經(jīng)存在的方法或者構(gòu)造方法。方法引用是一種更簡潔易懂的表達(dá)式。 上一篇小樂介紹了《Java8新特性-函數(shù)式接口》,大家可以點擊回顧。這篇文章將接著介紹Java8新特性之方法引用。 Java8 中引入方法引用新特性,用于簡化應(yīng)用對象方法的調(diào)用,?方法引用是...

    Codeing_ls 評論0 收藏0
  • Java編程思想學(xué)習(xí)錄(連載:初始化與清理)

    摘要:注本文首發(fā)于公眾號,可長按或掃描下面的小心心來訂閱關(guān)于構(gòu)造器與初始化無參構(gòu)造器默認(rèn)構(gòu)造器自己未寫編譯器幫忙自動創(chuàng)建的若自行定義了構(gòu)造器無論參數(shù)有否,編譯器便停止默認(rèn)創(chuàng)建動作類里的對象引用默認(rèn)初始化為,基本類型初始化為構(gòu)造器也是類的靜態(tài)方法四 showImg(https://segmentfault.com/img/remote/1460000015723687); 注: 本文首發(fā)于 ...

    betacat 評論0 收藏0
  • Java動態(tài)性(2) - 反射機(jī)制(Reflection)

    摘要:的動態(tài)性反射機(jī)制動態(tài)編譯動態(tài)執(zhí)行代碼動態(tài)字節(jié)碼操作動態(tài)語言程序運行時可以改變程序得結(jié)構(gòu)或變量類型典型語言等如下代碼不是動態(tài)語言但有一定的動態(tài)性我們可以利用反射機(jī)制字節(jié)碼操作獲得類似動態(tài)語言的特性的動態(tài)性讓編程的時候更加靈活反射機(jī)制反射機(jī)制指 1.Java的動態(tài)性 反射機(jī)制 動態(tài)編譯 動態(tài)執(zhí)行JavaScript代碼 動態(tài)字節(jié)碼操作 2.動態(tài)語言 程序運行時,可以改變程序得結(jié)構(gòu)或變量...

    妤鋒シ 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<