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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java的无参构造方法_Java有参构造方法和无参构造方法

發(fā)布時間:2023/12/14 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java的无参构造方法_Java有参构造方法和无参构造方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、定義:

編寫一個類時沒有添加無參構(gòu)造方法,那么編譯器會自動添加無參構(gòu)造方法;(如果自己添加構(gòu)造函數(shù),無論有參數(shù)或是沒參數(shù),默認構(gòu)造函數(shù)都將無效)

編寫時添加了有參構(gòu)造方法而未添加無參構(gòu)造方法,那么編譯器只認有參構(gòu)造方法而不會默認添加無參構(gòu)造方法!

如果需要使用無參構(gòu)造方法,一定要在類里面添加

2、舉例:

定義四個類(說明四種情況):

類Person1 自己不手動添加任何無參或有參數(shù)構(gòu)造方法 (實例化對象時:編譯通過)

類Person2 自己添加無參的構(gòu)造方法 (實例化對象時:編譯通過)

類Person3 有參數(shù)的構(gòu)造方法 (實例化對象時:不通過)

類Person4 自己添加無參的構(gòu)造方法,和有參數(shù)的構(gòu)造方法 (實例化對象時:編譯通過)

//定義類Person1 自己不手動添加任何無參或有參數(shù)構(gòu)造方法

class Person1{

private int age;

private String name;

private String sex;

}

//定義類Person2 自己添加無參的構(gòu)造方法

class Person2{

private int age;

private String name;

private String sex;

public Person2(){

System.out.println("無參構(gòu)造方法被調(diào)用");

}

}

//定義類Person3 有參數(shù)的構(gòu)造方法

class Person3{

private int age;

private String name;

private String sex;

public Person3(String name, String sex, int age ){

this.name = name;

this.sex = sex;

this.age = age;

}

}

//定義類Person4 自己添加無參的構(gòu)造方法,和有參數(shù)的構(gòu)造方法

class Person4{

private int age;

private String name;

private String sex;

//不帶參數(shù)的構(gòu)造函數(shù),可以被重載

public Person4(){

System.out.println("無參構(gòu)造方法被調(diào)用");

}

//帶參數(shù)對的構(gòu)造函數(shù)

public Person4(String name, String sex, int age ){

this.name = name;

this.sex = sex;

this.age = age;

}

}

public class ObjectInit_2 {

public static void main(String[] args) {

Person1 person1 = new Person1();//編譯通過;①實例化Person對象 ②自動調(diào)用構(gòu)造方法Person( )

Person2 person2 = new Person2();//編譯通過;打印: 無參構(gòu)造方法被調(diào)用

// 這樣寫,編譯器會報錯,原因是系統(tǒng)默認的無參構(gòu)造方法被有參構(gòu)造方法覆蓋,編譯器不能再提供無參構(gòu)造方法

Person3 person3 = new Person3();

//Person4 person4 = new Person4();//編譯通過;打印: 無參構(gòu)造方法被調(diào)用

Person4 person4 = new Person4("qzz", "man", 18);//編譯通過;

}

}

3.使用構(gòu)造器時需要記住:

1.構(gòu)造器必須與類同名(如果一個源文件中有多個類,那么構(gòu)造器必須與公共類同名)

2.每個類可以有一個以上的構(gòu)造器

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

4.構(gòu)造器沒有返回值

5.構(gòu)造器總是伴隨著new操作一起調(diào)用

父類有有參構(gòu)造方法有兩種情況,一只有有參構(gòu)造,那么子類的構(gòu)造方法中的第一句必須調(diào)用父類的有參構(gòu)造方法,也就是“super(....);”,....為你傳入的參數(shù)如:

class Father {

public Father(String lastname) {

}

}

class Son extends Father {

public Son() {

super("aaaa");// 這句必須有

// 可以寫其他代碼

}

}

二有有參也有無參構(gòu)造方法,這時子類不顯示調(diào)用super,這會默認自動調(diào)用父類無參的構(gòu)造方法,

class Father {

public Father() {

}

public Father(String lastname) {

}

}

class Son extends Father {

public Son() {

super();// 這句可以有也可以沒有,沒有寫的話會自動調(diào)用

// 可以寫其他代碼

}

}

總結(jié)

以上是生活随笔為你收集整理的java的无参构造方法_Java有参构造方法和无参构造方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。