日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

构造方法浅析

發布時間:2025/7/14 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 构造方法浅析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1? 無參構造與有參構造

先讓我們了解一下有參構造方法和無參構造方法,見名思意,有參構造就是有參數傳遞,無參構造就是沒有參數傳遞。

參考代碼如下:

1 class People{//定義一個人類 2 String name;//姓名 3 char gender;//性別 4 int date;//出生日期 5 People(){//定義無參構造方法 6 System.out.println("這是無參構造函數,張三出生了");//輸出提示 7 this.name="張三";//在無參構造中初始化屬性 8 this.gender='男';//在無參構造中初始化屬性 9 this.date=19940216;//在無參構造中初始化屬性 10 } 11 People(String name,char gender,int date){//定義有參構造方法 12 System.out.println("這是有參構造函數,"+name+"出生了");//輸出提示 13 this.name=name;//在有參構造方法中將形參傳給實參 14 this.gender=gender;//在有參構造方法中將形參傳給實參 15 this.date=date;//在有參構造方法中將形參傳給實參 16 } 17 }

從以上代碼可以看出,在創建具體對象時,無參構造方法的初始化在代碼中固定,當然,可以不要這段代碼,在創建對象時根據“類名.屬性”定義,但是較為麻煩,這也是有參構造函數的最大優勢之一。

2? 子類構造函數常見問題分析

接下來我們依據上面的People類來創建一個Student子類,參考代碼如下:

1 class Student extends People{//定義一個學生類,繼承人類 2 int xuehao;//再定義一個新的屬性,學號 3 Student(String name,char gender,int date,int xuehao){//定義有參構造方法 4 System.out.println("這是有參構造函數,繼承了People類,學生"+name+"來學校了");//輸出提示 5 this.name=name;//在有參構造方法中將形參傳給實參 6 this.gender=gender;//在有參構造方法中將形參傳給實參 7 this.date=date;//在有參構造方法中將形參傳給實參 8 this.xuehao=xuehao;//在有參構造方法中將形參傳給實參 9 } 10 }

【注意】在創建子類時,可能會因為子類的構造函數而出現編譯不通過的情況。

比如:

1 Student student=new Student();

若要創建一個子類的對象,則要調用子類構造函數。在子類構造函數(無參、有參)的第一行默認調用父類無參構造函數,若父類中沒有無參構造函數,子類必須顯示調用父類的有參構造函數(super)。

解決方法:

  • 在父類中,加入無參構造函數
  • 移除自定義的構造函數
  • 子類的構造函數第一行中加入super(value)
  • 【注】可以使用“super.屬性”或“super.方法”調用父類的屬性或方法。

    至于super方法怎么用,接著看以下代碼:

    1 class People{ 2 String name; 3 //People(){};//無參構造 4 People(String name){//有參構造 5 this.name=name; 6 } 7 } 8 class Student extends People{ 9 int xuehao; 10 Student(String name,int xuehao){ 11 super(name);//調用父類有參構造 12 this.xuehao=xuehao; 13 } 14 }

    看明白了嗎?應該是明白了。

    3??? 創建類對象數組

    接下來我們來談一談創建對象的問題,有時候我們需要使用一個類的多個對象,比如說學生類,如果一個接一個的創建學生類,不是不可取,只是很麻煩,較占空間,最為關鍵的是以后若想增加或刪除某個對象時很麻煩,特別是在寫一個學生成績管理系統之類的時候,無路可走。故我們要用另一種方法創建一個類對象:數組對象。這種方法常與有參構造相結合使用,因為初始化的時候很方便!

    參考代碼如下:

    1 Student S[] = new Student[50];//定義一個Student數組對象,可以存儲50位同學的信息 2 S[0]=new Student("張一","男",96,67,85,8000);//初始化第一位學生 3 S[1]=new Student("張二","女",46,56,84,8001);//初始化第二位學生 4 S[2]=new Student("張三","男",58,61,86,8002);//初始化第三位學生 5 S[3]=new Student("張四","女",84,67,23,8003);//初始化第四位學生 6 S[4]=new Student("張五","男",65,94,56,8004);//初始化第五位學生 7 S[5]=new Student("張六","女",43,75,98,8005);//初始化第六位學生 8 S[6]=new Student("張七","女",67,45,78,8006);//初始化第七位學生 9 S[7]=new Student("張八","男",82,65,94,8007);//初始化第八位學生 10 S[8]=new Student("張九","女",91,23,28,8008);//初始化第九位學生 11 S[9]=new Student("張十","男",98,84,64,8009);//初始化第十位學生

    使用這種定義,在新增學生信息的時候,只需要控制數組的下標即可,非常方便!

    多嘴一句,double也是一個類對象,如下:

    1 double a[]=new double[100];//創建一個double類數組

    轉載于:https://www.cnblogs.com/qijunhui/p/8284300.html

    總結

    以上是生活随笔為你收集整理的构造方法浅析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。