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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java构造函数经典详解

發布時間:2025/4/16 编程问答 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java构造函数经典详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

構造方法是對象被創建時初始化對象的成員方法,它具有和它所在的類完全一樣的名字。構造方法只能有入口參數,沒有返回類型,因為一個類的構造方法的返回類就是類本身。構造方法定義后,創建對象時就會自動調用它,對新創建的對象分配內存空間和初始化。在Java 中,構造方法也可以重載,當創建一個對象時, JVM會自動根據當前對方法的調用形式在類的定義中匹配形式符合的構造方法,匹配成功后執行該構造方法。

如果省略構造方法的定義,則 Java會自動調用默認的構造方法。但是如果定義了構造方法,則系統不再提供默認的構造方法。默認的構造方法沒有任何參數,不執行任何操作。實際上,默認的構造方法的功能是調用此類的父類中的不帶參數的那個構造方法,如果父類中不存在這樣的構造方法,編譯時會產生錯誤信息。Object 是 Java 中所有類的根,定義它的直接子類,可以省略 extends 子句,編譯器會自動包含它。

構造方法的方法體定義中,可以調用此類的父類的構造方法,也可以調用此類的另一個構造方法,這種調用必須由方法體的第一個語句完成。但是,構造方法的調用不允許通過方法名,所以,用this 代表本類中的一個構造方法,而 super 則代表了其父類的一個構造方法。需要注意的是,在構造函數中,如果 this語句,則必有 super 語句,要么自己編寫 super 語句,要么由系統自動調用 super 語句。而且 super語句調用的總是其父類的缺省構造函數,即無參的那個構造函數,如果其父類中沒有缺省的構造函數,則編譯出錯。所以,子類如果有多個構造函數的時候,父類要么沒有構造函數,?讓編譯器自動產生,那么在執行子類構造函數之前先執行編譯器自動產生的父類的缺省構造函數;要么至少要有一個顯? 式的缺省構造函數可以讓子類的構造函數調用。

另外還需要注意的有: (1) 對象是由 new 運算符創建的,且在任何構造函數執行之前就已經創建完畢了; (2)構造函數的執行總是 “ 向上 ” 的:而且總是先執行完父類的構造函數; (3) 顯式初始化語句總是先于構造函數語句,但后于super() 或 this() 。

總結

以上是生活随笔為你收集整理的java构造函数经典详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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