摘要:初始化與清理構造器通過來創建類的對象。如果一個類沒有顯式提供構造器,則編譯器會為該類自動生成一個默認構造器。構造器采用與類名相同的名稱。
初始化與清理 構造器
通過new來創建類的對象。每當調用new來創建對象時,java會調用構造器對象進行初始化。初始化完畢,意味著這個對象已經準備好對外提供服務了。
如果一個類沒有顯式提供構造器,則編譯器會為該類自動生成一個默認構造器。
構造器采用與類名相同的名稱。
class Rock { Rock() { //This is the constructor System.out.println("This is the constructor"); } }重載
Java支持構造器和方法的重載(不是重寫override)
區分重載方法的簽名:方法名+參數列表
通過方法的簽名來區分重載,所以返回類型不作為區分重載的因素。
this關鍵字對當前對象的引用
有了this關鍵字可以實現在構造器中調用其他重載構造器,如:
class Rock { public int id; Rock(int id) { this.id = id; } Rock() { this(1); } }初始化
對類變量的初始化有兩種方法:
在申明時直接初始化
顯式初始化
在構造器內進行初始化
初始化順序:
通過new創建對象時,對象的初始化順序:
對申明的變量進行變量的默認值的初始化:變量的申明可以散落在類的定義的不同位置,但初始化時,會按申明的先后順序,完成初始化然后調用構造函數進行初始化;
調用構造器:如果變量未在申明時就完成初始化,則可以通過構造器完成初始化;
靜態數據的初始化優先于非靜態數據;
初始化例子public class Rock { public int id = 1; //initialization when define public String name; public static String greeting1; public static String greeting2; public static int age = 1000; static{ greeting1 = "Hello"; //explicitly initialization } Rock(String name) { this.name = name; // initialization in constructor greeting2 = "Hi"; } public String location1 = "Shanghai"; public String getName(){ return name; } public String location2 = "China"; public String getLocation(){ return location1 + " - " + location2; } public void greeting(){ System.out.println(this.greeting); } public static void main(String[] args){ Rock r = new Rock("Robin"); System.out.println("Name: " + r.getName()); System.out.println("Location: " + r.getLocation()); r.greeting(); } }數組初始化
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75867.html
摘要:前言編程思想這本書,陸陸續續讀了年,終于基本都瀏覽了一遍。每個對象對外暴露接口,程序通過對象暴露的接口向對象發送消息,獲取該對象的服務能力。異常處理異常處理,為編寫程序階段提供了一種預見性的防止程序崩潰的出路。 前言 《Java編程思想》這本書,陸陸續續讀了1年,終于基本都瀏覽了一遍。通過這本書,試圖理解作者的想法,才真的體會到Java思想。感謝本書的作者,不僅講述了java的語法,更...
摘要:編寫一個程序編譯器一些規則程序文件的后綴為每個文件名最多包含一個類,也可以沒有類當指定某個類為時,該類的類名必須與文件名相同關于寫代碼時,需要用到其他類庫,最常用的就是自帶的類庫。 編寫一個Java程序 編譯器:ideal 一些規則 java程序文件的后綴為.java 每個.java文件名最多包含一個public類,也可以沒有public類 當指定某個類為public時,該類的類名必須...
摘要:設計模式是以面向對象編程為基礎的,的面向對象編程和傳統的的面向對象編程有些差別,這讓我一開始接觸的時候感到十分痛苦,但是這只能靠自己慢慢積累慢慢思考。想繼續了解設計模式必須要先搞懂面向對象編程,否則只會讓你自己更痛苦。 JavaScript 中的構造函數 學習總結。知識只有分享才有存在的意義。 是時候替換你的 for 循環大法了~ 《小分享》JavaScript中數組的那些迭代方法~ ...
摘要:代碼之髓讀后感如何高效的學習語言技術讀后感王垠如何掌握程序語言代碼之髓這本書里提出了三種學習語言的方法如何高效的學習語言在比較中學習在歷史中學習在實踐中學習在比較中學習通過比較多種語言,總結出某種語言的獨有特點,以及多種語言的共有特點。 title: 代碼之髓讀后感——如何高效的學習語言date: 2017-07-08 17:17:00categories: 技術tags: 讀后感 ...
摘要:日期和時間使用類完成讀取設置比較和計算日期與時間。單元測試單元測試是從編寫開始,貫穿于整個開發周期的一種用于保證函數類和方法的行為與預期一致的編程方法。是應用的單元測試框架的業界標準,其他幾個可選框架是行為驅動開發行為驅動開發有兩種方式和。 《php之道》閱讀地址:http://wulijun.github.io/php-the-right-way/#code_style_guide ...
閱讀 1250·2023-04-26 01:38
閱讀 1462·2021-11-15 11:39
閱讀 3251·2021-09-22 15:43
閱讀 2638·2019-08-30 15:55
閱讀 2047·2019-08-30 14:17
閱讀 2851·2019-08-29 14:16
閱讀 3062·2019-08-26 18:36
閱讀 2607·2019-08-26 12:19