亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么構造HelloWorld時直接public HelloWorld就可以了。。而且為什么再創建hello2的時候直接運行了。。感覺這一節都很亂。。

如題。。。。。。。。。。還有為什么構造方法那里public HelloWorld一定要與類名同名。。?

正在回答

3 回答

首先,構造方法名和類名相同,是語法規定的,用來表示這是該類的構造方法。類是一種用戶自定義的類型,和int,float等在語義上類似,其結構多種多樣。當定義一個類的對象時候(例如HelloWorld類的對象hello),編譯程序需要根據其所屬的類類型為對象分配存儲空間。在聲明對象時候,可以同時給對象的數據成員賦初值,也可以不用在定義時候賦初值。在java中,定義了一種特殊的成員方法可以在聲明對象的時候自動為其賦初值,該方法就是構造方法。所以當你在創建HelloWorld類的一個對象hello時候,系統是自動執行了構造方法。同理,當你再次創建HelloWorld的另一個對象hello2時候,系統一樣會自動執行構造方法。即當執行完 HelloWorld hello = new HelloWorld();這條語句時(還沒執行下一條語句),系統就已經為你的對象hello初始化了,即自動調用了構造方法HelloWorld();具體怎么初始化,就看你的類的構造方法自己是怎么操作的。當執行完 HelloWorld hello2 = new HelloWorld();這條語句時,編譯系統也已經自動的調用構造方法,為對象hello2自動初始化了,所以創建hello2時就是自動運行。其實你可以在main()中,只創建hello對象,就算后面的操作都沒有,系統也是自動運行hello的構造函數的,可以自己仿一下。其實在系統里,構造方法是默認存在的。但是當你定義了一個顯式的構造方法,即當你自己明確定義public HelloWorld()時,就以你定義的構造方法為主,這就是為何我們可以通過自己定義構造方法來確定一個手機對象的屏幕具體大小。當你沒有為對象構造一個構造方法時候,系統就會調用默認的構造方法,這時候就不能在初始化對象時候就確定屏幕具體大小。

3 回復 有任何疑惑可以回復我~
#1

001122 提問者

非常感謝!感激
2015-03-23 回復 有任何疑惑可以回復我~
#2

www6877

我和他有著一樣的困惑,我比較笨,看了你的解答兩邊才看懂,但還是有一個疑問,大神,方法和構造方法區別是啥,當然你有時間解答一下更好,我也還是要往前面復習自己再看看,你的解答很詳細,謝謝!
2015-11-03 回復 有任何疑惑可以回復我~

hello ?hello2 ? abc 這都是變量名啊,用哪個都一樣,只要符合命名規則。 他new的都是HelloWorld類啊,是同一個類啊。

0 回復 有任何疑惑可以回復我~

一個是構造器一個是實例化,不一樣的

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么構造HelloWorld時直接public HelloWorld就可以了。。而且為什么再創建hello2的時候直接運行了。。感覺這一節都很亂。。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號