最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中有關(guān)構(gòu)造方法中的輸出

 更新時間:2022年10月31日 16:53:59   作者:鳳凰谷佛  
這篇文章主要介紹了java中有關(guān)構(gòu)造方法中的輸出,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

有關(guān)構(gòu)造方法中的輸出

在構(gòu)造方法中的System.out.println是怎么運行的呢?下面讓我們一起來看一下。

構(gòu)造方法中的System.out.println:

先來看一個例子

package testasdd;

public class Abcdefg {
    String name;
    int age;
    
    Abcdefg(String namel,int agel){
    	name=namel;
    	age=agel;
    	System.out.println("我可謝謝你了");
    }
	
    void bank() {
    	System.out.println("可以的");
    }
	

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Abcdefg a= new Abcdefg("滑板", 22);
		String name=a.name;
		int age=a.age;
		System.out.println("我是"+name+"玩了"+age);
		a.bank();
	
	}

}

輸出如下:

我可謝謝你了
我是滑板玩了22
可以的

為什么構(gòu)造方法中的輸出也在控制臺輸出了呢?

因為構(gòu)造方法在類被實例化的時候會被調(diào)用。

也就是在我們,新鍵一個對象的時候構(gòu)造方法會被調(diào)用因此其中的System.out.println會在創(chuàng)建對象的時候被調(diào)用輸出。

這就是為什么我們明明沒有有關(guān)他的語句卻有這句輸出的原因了。

java中構(gòu)造方法的作用

初學(xué)Java的構(gòu)造方法時,根本不能理解構(gòu)造方法有什么用,自己寫程序的時候也從來沒有用過。于是剛開始我寫的程序是這樣的:

package test3;
public class Student {
 private String name;
 private long ID;
 private double score;

 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public long getID() {
  return ID;
 }
 public void setID(long iD) {
  ID = iD;
 }
 public double getScore() {
  return score;
 }
 public void setScore(double score) {
  this.score = score;
 }
 public static void main(String[] args) {
  Student s = new Student();
  s.setName("張三");
  s.setID(170316);
  s.setScore(86.0);
  System.out.println("學(xué)號為" + s.getID + "的" + s.getName() + "的成績?yōu)? + s.getScore + "分。");
 }
}

然后我發(fā)現(xiàn),這樣寫程序有弊端。就是比如我要登記學(xué)生的基本情況,有姓名、學(xué)號、年級班級、成績等等好多情況,如果有很多屬性,同時實例化了好多對象,我可能就會忘記忘記初始化一些屬性;同時,這樣還需要寫許多get和set方法,雖然可以由eclipse自動生成,但還是顯得代碼很冗長,不便于閱讀。這個時候就顯示出構(gòu)造方法的重要性了。

構(gòu)造方法的主要作用就是創(chuàng)建對象。

構(gòu)造方法分為有參數(shù)和沒有參數(shù)兩種。有參數(shù)的構(gòu)造方法主要就是用于對創(chuàng)建出來的對象進行初始化,比如下邊這個例子:

package test3;

public class Test_Constructor1 {

 private String name;
 private String gender;
 private long ID;
 private long birthday;

 Test_Constructor1(String name, String gender, long ID, long birthday) {
  this.name = name;
  this.gender = gender;
  this.ID = ID;
  this.birthday = birthday;
 }
 public static void main(String[] args) {
  Test_Constructor1 s = new Test_Constructor1("Lily", "女", 100001, 200000226);
  System.out.println("姓名:" + s.name +  " 性別:" + s.gender + " 學(xué)號:" + s.ID + " 生日:" + s.birthday);
 }
}

在控制臺的輸出結(jié)果如下:

這樣在new一個對象出來的時候,就對它進行了初始化,避免了某些屬性忘記初始化的問題;同時可以看出代碼長度遠小于上一個例子,提高了程序的可閱讀性。

另一種是沒有參數(shù)的構(gòu)造方法,又叫缺省構(gòu)造方法。其實,你的類如果沒有定義任何構(gòu)造方法,Java的編譯器會配上一個自動缺省構(gòu)造方法,這個構(gòu)造方法是空的,不做任何事情,只是為了滿足編譯需要。或者,你也可以自己寫一個空的構(gòu)造方法,在里邊對一些屬性賦值,或者執(zhí)行一些其他操作,比如下邊這個例子:

package test3;

public class Test_Constructor2 {
 private int i;

 Test_Constructor2() {
  i = 5;
  System.out.println("i的值是" + i);
 }
 public static void main(String[] args) {
  Test_Constructor2 s = new Test_Constructor2();
 }
}

在控制臺的輸出結(jié)果如下:

沒有參數(shù)的構(gòu)造方法創(chuàng)建對象時也會被調(diào)用。創(chuàng)建對象時,首先變量中的所有變量會得到零值,然后執(zhí)行定義初始化,最后執(zhí)行構(gòu)造方法。

其實,構(gòu)造方法的主要作用就是為對象成員變量賦初始值,總是與new運算符一起使用在創(chuàng)建對象的語句中——也就是說,只要你new一個對象出來,就會相應(yīng)地調(diào)用這個類的構(gòu)造方法。有參數(shù)的構(gòu)造方法可以對對象進行初始化,但建議寫了有參的構(gòu)造方法后再寫一個無參的空的構(gòu)造方法,便于創(chuàng)建一個對象而不給它的成員變量賦初值。要注意,自己寫了有參的構(gòu)造方法,編譯器是不會再補充一個缺省構(gòu)造方法的。

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

相關(guān)文章

  • Spring?@Cacheable指定失效時間實例

    Spring?@Cacheable指定失效時間實例

    這篇文章主要介紹了Spring?@Cacheable指定失效時間實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 基于JavaBean編輯器讀取peroperties文件的實例

    基于JavaBean編輯器讀取peroperties文件的實例

    下面小編就為大家?guī)硪黄贘avaBean編輯器讀取peroperties文件的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 詳解如何在Java中使用阿里云對象存儲OSS

    詳解如何在Java中使用阿里云對象存儲OSS

    Java是世界上最流行的編程語言之一,擁有著廣泛的應(yīng)用場景和強大的生態(tài)系統(tǒng),阿里云對象存儲 OSS 是一種企業(yè)級的云存儲服務(wù),本文將介紹如何在 Java 中使用阿里云對象存儲 OSS,并寫一點相應(yīng)的代碼示例供大家參考
    2023-06-06
  • 淺談在eclipse中如何修改svn的用戶名和密碼

    淺談在eclipse中如何修改svn的用戶名和密碼

    這篇文章主要介紹了在eclipse中如何修改svn的用戶名和密碼的方法,在eclipse中經(jīng)常用svn進行代碼版本控制,提交或更新代碼的時候需要我們輸入用戶名和密碼。對此感興趣的話可以來了解一下
    2020-07-07
  • Mybatis-plus:${ew.sqlselect}用法說明

    Mybatis-plus:${ew.sqlselect}用法說明

    這篇文章主要介紹了Mybatis-plus:${ew.sqlselect}用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java面試Logback打印日志如何獲取當前方法名稱題解

    Java面試Logback打印日志如何獲取當前方法名稱題解

    這篇文章主要為大家介紹了Java面試Logback打印日志如何獲取當前方法名稱題解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Mybatis 中的<![CDATA[ ]]>淺析

    Mybatis 中的<![CDATA[ ]]>淺析

    本文給大家解析使用<![CDATA[ ]]>解決xml文件不被轉(zhuǎn)義的問題, 對mybatis 中的<![CDATA[ ]]>相關(guān)知識感興趣的朋友一起看看吧
    2017-09-09
  • 使用Java對URL進行編碼和解碼

    使用Java對URL進行編碼和解碼

    在互聯(lián)網(wǎng)應(yīng)用中,URL(Uniform?Resource?Locator,統(tǒng)一資源定位符)是定位和訪問網(wǎng)絡(luò)資源的重要標識,然而,URL?中可能包含一些特殊字符,為了保證?URL?的有效性和兼容性,必須對?URL?進行編碼處理,所以本文給大家介紹了如何使用Java對URL進行編碼和解碼
    2025-03-03
  • python 與HFSS聯(lián)合仿真的教程講解

    python 與HFSS聯(lián)合仿真的教程講解

    這篇文章主要介紹了python 與HFSS聯(lián)合仿真的教程講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Java中String類getBytes()方法詳解與完整實例

    Java中String類getBytes()方法詳解與完整實例

    這篇文章主要給大家介紹了關(guān)于Java中String類getBytes()方法詳解與完整實例的相關(guān)資料,getBytes()是Java編程語言中將一個字符串轉(zhuǎn)化為一個字節(jié)數(shù)組byte[]的方法,需要的朋友可以參考下
    2023-10-10

最新評論

泰宁县| 远安县| 苍溪县| 德昌县| 循化| 泉州市| 柏乡县| 绵竹市| 秭归县| 朝阳区| 景洪市| 乐清市| 嵊泗县| 元朗区| 孝感市| 定陶县| 贡觉县| 莱阳市| 昭苏县| 东台市| 富宁县| 营口市| 芦溪县| 富民县| 岢岚县| 夏津县| 河池市| 伊金霍洛旗| 景东| 宜丰县| 宜宾县| 唐海县| 南皮县| 沅陵县| 老河口市| 藁城市| 巴林左旗| 隆化县| 铜山县| 封开县| 林西县|