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

java構(gòu)造方法的互相調(diào)用方式

 更新時(shí)間:2024年03月27日 10:29:10   作者:一顆菘菜  
這篇文章主要介紹了java構(gòu)造方法的互相調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java構(gòu)造方法的互相調(diào)用

public Student(int age){
    super();
    this.age = age;
}
 
public Student(String name , int age){
    /*
        super(); 注意,這里不能再調(diào)用super();因?yàn)橄逻叺膖his(age);調(diào)用了上方的構(gòu)造器,已經(jīng)存在了    
        super();該構(gòu)造器內(nèi)不能再次調(diào)用。所以只寫一個(gè)this(age)就夠了;
    */
    this(age);
    this.name = name;
}

其他的小細(xì)節(jié)

構(gòu)造方法體內(nèi)調(diào)用父類構(gòu)造器( super(); )或重載構(gòu)造器( this(); )時(shí),應(yīng)放在方法體內(nèi)的第一行。

構(gòu)造方法及其重載

1.構(gòu)造方法

類中有一種特殊的成員方法,其方法名與類名相同,稱為構(gòu)造方法。

通過(guò)構(gòu)造方法可以完成對(duì)象的創(chuàng)建,以及實(shí)例變量的初始化。

下面是一個(gè)構(gòu)造方法示例:

public class Puppy{
  public Puppy( ) { }
  public Puppy(String name) {

       //這個(gè)構(gòu)造器僅有一個(gè)name

      }
}  

每個(gè)類都有一個(gè)隱藏的無(wú)參構(gòu)造函數(shù)。

public class Dog{
 
    /**
     * 帶參構(gòu)造函數(shù)
     * @param name
     * @param age
     */
    public Dog(String name,int age){
        this.age = age;
        this.name = name;
    }
 
    /**
     * 無(wú)慘構(gòu)造函數(shù)
     */
    public Dog(){}
 
    String name;
    int age;
 
    public void ptint(){
        System.out.println("name = "+this.name+";age = "+age);
    }
 
    public static void main(String[] args) {
        new Dog().ptint();
        new Dog("花花",9).ptint();
    }
}

2.構(gòu)造方法和對(duì)象的初始化

構(gòu)造方法怎么調(diào)用,使用哪個(gè)運(yùn)算符?

當(dāng)使用new 運(yùn)算符實(shí)例化一個(gè)對(duì)象時(shí),系統(tǒng)為對(duì)象創(chuàng)建內(nèi)存區(qū)域并自動(dòng)調(diào)用構(gòu)造方法初始化成員變量。

下面是new運(yùn)算符實(shí)例化一個(gè)對(duì)象。

Puppy p = new Puppy( );
Puppy p1 = new Puppy(“張三”);

3.實(shí)例——用構(gòu)造方法初始化成員變量

class Triangle
{
int x,y,z;
public Triangle(int i,int j,int k)
{  
x=i;y=j;z=k;
public static bpplean judge(Triangle m)
{ 
 if(Math.sqrt(m.x*m.x+m.y*m.y)= =Math.sqrt(m.z*m.z))
    //引用Math類庫(kù)的sqrt()方法
    return true;
    else
    return false;
}
public static void main(String args[]) {
Triangle t1=new Triangle(3,4,5);
if(judge(t1))   //調(diào)用judge()方法,判斷t1的成員變量是
    //否能構(gòu)成直角三角形的3條邊長(zhǎng)
System.out.println("這是一個(gè)直角三角形");
else
System.out.Println("這不是一個(gè)直角三角形");
}
 
}

4.構(gòu)造方法的特點(diǎn)

  • 構(gòu)造方法名與類名必須一致,大小寫也要一樣。
  • 構(gòu)造方法沒(méi)有返回值,void類型也不寫。
  • 在創(chuàng)建一個(gè)對(duì)象的時(shí)候,至少要調(diào)用一個(gè)構(gòu)造方法。
  • 構(gòu)造方法不能顯式地直接調(diào)用。
  • 構(gòu)造方法的主要作用是對(duì)對(duì)象初始化。
  • 修飾符列表目前統(tǒng)一寫:public。千萬(wàn)不要寫public static。

5.構(gòu)造方法重載 

構(gòu)造方法是支持方法重載的。在一個(gè)類當(dāng)中構(gòu)造方法可以有多個(gè)。并且所有的構(gòu)造方法名字都是一樣的。

對(duì)于實(shí)例變量來(lái)說(shuō),只要你在構(gòu)造方法中沒(méi)有手動(dòng)給它賦值,統(tǒng)一都會(huì)默認(rèn)賦值。默認(rèn)賦系統(tǒng)值。

方法重載特點(diǎn):

  • 重載的方法必須在同一個(gè)類中
  • 方法名相同
  • 參數(shù)列表不同(不包含參數(shù)名不同)
  • 方法的重載與訪問(wèn)修飾符和返回值類型無(wú)關(guān)

6.成員變量

類中的屬性,也就是直接在類中定義的變量稱作成員變量,它定義在方法外面。

局部變量就是定義在方法中的變量;一般情況下,局部變量在使用前需要賦值,否則會(huì)編譯出錯(cuò)。

成員變量和局部變量的區(qū)別:

  • 作用域不同。局部變量的作用域僅限于定義它的方法,在該方法外無(wú)法訪問(wèn)它;成員變量的作用域在整個(gè)類內(nèi)部都是可見(jiàn)的,所有成員方法都可以使用它,如果訪問(wèn)權(quán)限允許,還可以在類外部使用成員變量。
  • 初始值不同。成員變量在定義時(shí)可以不初始化,Java會(huì)給成員變量賦初始值;但是Java不會(huì)給局部變量賦初始值,因此在定義局部變量時(shí)必須初始化后再使用。
  • 在同一個(gè)方法中,不允許有同名的局部變量,在不同的方法中可以有同名的局部變量。
  • 局部變量可以和成員變量同名,并且在使用時(shí),局部變量具有更高的優(yōu)先級(jí)。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java BigDecimal精度丟失及常見(jiàn)問(wèn)分析

    java BigDecimal精度丟失及常見(jiàn)問(wèn)分析

    這篇文章主要為大家介紹了java BigDecimal精度丟失及常見(jiàn)問(wèn)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • JSON在Java中的使用方法實(shí)例

    JSON在Java中的使用方法實(shí)例

    對(duì)于java來(lái)說(shuō),json的對(duì)象也是分為JSONObject和JSONArray這兩種,每種對(duì)象的操作方式不一樣哦,下面這篇文章主要給大家介紹了關(guān)于JSON在Java中使用的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • Java使用RedisTemplate如何根據(jù)前綴獲取key列表

    Java使用RedisTemplate如何根據(jù)前綴獲取key列表

    這篇文章主要介紹了Java使用RedisTemplate如何根據(jù)前綴獲取key列表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java Calendar日歷類的使用介紹

    Java Calendar日歷類的使用介紹

    Candendar類是一個(gè)抽象類,提供了一些獲取當(dāng)前時(shí)間,或者指定的時(shí)間的字段和一些方法,我們可以通過(guò)一些方法與字段對(duì)他進(jìn)行獲取當(dāng)前天或者當(dāng)月的一些信息
    2022-09-09
  • java?-jar啟動(dòng)參數(shù)設(shè)置file.encoding編碼,解決中文亂碼的問(wèn)題

    java?-jar啟動(dòng)參數(shù)設(shè)置file.encoding編碼,解決中文亂碼的問(wèn)題

    這篇文章主要介紹了java?-jar啟動(dòng)參數(shù)設(shè)置file.encoding編碼,解決中文亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 在Spring Boot中實(shí)現(xiàn)多環(huán)境配置的方法

    在Spring Boot中實(shí)現(xiàn)多環(huán)境配置的方法

    在SpringBoot中,實(shí)現(xiàn)多環(huán)境配置是一項(xiàng)重要且常用的功能,它允許開(kāi)發(fā)者為不同的運(yùn)行環(huán)境,這種方式簡(jiǎn)化了環(huán)境切換的復(fù)雜度,提高了項(xiàng)目的可維護(hù)性和靈活性,本文給大家介紹在Spring Boot中實(shí)現(xiàn)多環(huán)境配置的方法,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • JAVA驗(yàn)證碼工具實(shí)例代碼

    JAVA驗(yàn)證碼工具實(shí)例代碼

    這篇文章主要介紹了JAVA驗(yàn)證碼工具實(shí)例代碼,需要的朋友可以參考下
    2018-03-03
  • Java的面向?qū)ο缶幊袒靖拍顚W(xué)習(xí)筆記整理

    Java的面向?qū)ο缶幊袒靖拍顚W(xué)習(xí)筆記整理

    這篇文章主要介紹了Java的面向?qū)ο缶幊袒靖拍顚W(xué)習(xí)筆記整理,包括類與方法以及多態(tài)等支持面向?qū)ο笳Z(yǔ)言中的重要特點(diǎn),需要的朋友可以參考下
    2016-01-01
  • 本地JDK多版本快速切換方案

    本地JDK多版本快速切換方案

    本文將詳細(xì)介紹如何在同一臺(tái)機(jī)器上安裝和配置多個(gè)版本的 JDK(JDK 8、JDK 17 和 JDK 21),并且使用綠色版(即無(wú)需安裝程序,直接解壓即可使用),通過(guò)這種方式,您可以在不同的項(xiàng)目中靈活選擇所需的 JDK 版本,需要的朋友可以參考下
    2025-03-03
  • java版微信公眾平臺(tái)后臺(tái)接入

    java版微信公眾平臺(tái)后臺(tái)接入

    這篇文章主要為大家詳細(xì)介紹了java版微信公眾平臺(tái)后臺(tái)接入,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評(píng)論