摘要:小節(jié)也有類似的栗子,其結(jié)論是靜態(tài)方法不具有多態(tài)性。來(lái)自一個(gè)有趣的問(wèn)題靜態(tài)字段論述的問(wèn)題大致是說(shuō)以上兩個(gè)類中各有幾個(gè)方法本質(zhì)其實(shí)就是有無(wú)時(shí)的區(qū)別。
Demo1
來(lái)自關(guān)于java中static一個(gè)有意思的小案例:
class Employee { private static Employee employee = new Employee(); public static int count1 = 0; public static int count2; private Employee(){ count1++; count2++; }; public static Employee getInstance(){ return employee; } } public class TestLoader{ public static void main(String[] args){ Employee employee = Employee.getInstance(); System.out.println("count1-------"+employee.count1); System.out.println("count2-------"+employee.count2); } }
運(yùn)行結(jié)果為:
count1-------0
count2-------1
public static int count1 = 2; private Employee(){ System.out.println("init count1-------"+count1); System.out.println("init count2-------"+count2); count1++; count2++; };
我們?cè)跇?gòu)造方法中加入兩個(gè)輸出,輸出結(jié)果為:
init count1-------0
init count2-------0
count1-------2
count2-------1
你也發(fā)現(xiàn)了吧,此時(shí)count1尚未初始化賦值。即new Employee()先于count1 = 2執(zhí)行。
因此解決這個(gè)demo混淆的最好方法就是將靜態(tài)變量定義在方法之前。這樣是我們平常編碼的一種好習(xí)慣吧。
來(lái)自Java有意思的知識(shí)點(diǎn)
public class Parent { public static String say() { return "parent static say"; } public String say2() { return "parent say"; } } public class Child extends Parent { public static String say() { return "child static say"; } public String say2() { return "child say"; } } public class OverrideTest { public static void main(String[] args) { Parent p = new Child(); System.out.println(p.say()); System.out.println(p.say2()); } }
運(yùn)行結(jié)果:
parent static say
child say
是你想的那樣嗎?
所謂靜態(tài)方法,并不僅僅指該方法在所有實(shí)例中只有一份,同時(shí)也指該方法是“靜態(tài)”加載的,即在編譯期就已決定其行為。此處p的靜態(tài)類型為Parent,所以它所調(diào)用的方法也在編譯期和Parent的say()方法綁定。
《Think In Java》8.2小節(jié)也有類似的栗子,其結(jié)論是“靜態(tài)方法不具有多態(tài)性”。
Demo3來(lái)自一個(gè)有趣的問(wèn)題(java靜態(tài)字段)
class TestMethodA { static String name = "rebey.cn"; } class TestMethodB { static final String name = "rebey.cn"; }
論述的問(wèn)題大致是說(shuō)以上兩個(gè)類中各有幾個(gè)方法?本質(zhì)其實(shí)就是有無(wú)final時(shí)的區(qū)別。怎樣,心中有答案了嗎?
說(shuō)點(diǎn)什么/** * 修飾 * 屬性 * 方法 * 對(duì)象 */ /** * 類加載時(shí),實(shí)例化前加載一次;; * 可通過(guò)類名直接調(diào)用或?qū)嵗{(diào)用,且所有實(shí)例共享; * * 此外,靜態(tài)方法中不能用this和super關(guān)鍵字, * 不能直接訪問(wèn)所屬類的實(shí)例變量和實(shí)例方法 (就是不帶static的成員變量和成員成員方法), * 只能訪問(wèn)所屬類的靜態(tài)成員變量和成員方法; * */還有什么玩法
靜態(tài)導(dǎo)包;
本文不定期更新中...
更多有意思的內(nèi)容,歡迎訪問(wèn)rebey.cn
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/67443.html
摘要:希望大家在這浮夸的前端圈里,保持冷靜,堅(jiān)持每天花分鐘來(lái)學(xué)習(xí)與思考。 今天的React題沒(méi)有太多的故事…… 半個(gè)月前出了248個(gè)Vue的知識(shí)點(diǎn),受到很多朋友的關(guān)注,都強(qiáng)烈要求再出多些React相前的面試題,受到大家的邀請(qǐng),我又找了20多個(gè)React的使用者,他們給出了328道React的面試題,由我整理好發(fā)給大家,同時(shí)發(fā)布在了前端面試每日3+1的React專題,希望對(duì)大家有所幫助,同時(shí)大...
摘要:要招一個(gè)會(huì)的開發(fā)者作為面試官的你,你還會(huì)每次都只是問(wèn)這些老土的問(wèn)題嗎你對(duì)的理解是什么你知道什么是雙向綁定嗎你了解它的原理嗎說(shuō)說(shuō)的生命周期有哪些組件通訊有哪些你用過(guò)嗎作為面試者的你,在網(wǎng)上搜索下面試題及答案,看完后你是不是覺得自己掌握了武林秘 showImg(https://segmentfault.com/img/bVburrG?w=533&h=300); 要招一個(gè)會(huì)vue的開發(fā)者: ...
摘要:如果你有一臺(tái)云主機(jī),你會(huì)用來(lái)做什么呢已經(jīng)有一個(gè)個(gè)人使用的云主機(jī)。這臺(tái)云主機(jī)安裝的是系統(tǒng)。通過(guò)云主機(jī)的公網(wǎng)可以家庭網(wǎng)絡(luò)的公用映射。云幫手面板是啥可以管理云主機(jī)嗎云幫手是一款集中化管理云主機(jī)的軟件。基本上針對(duì)云主機(jī),云幫手的功能是十分齊全的了。如果你有一臺(tái)云主機(jī),你會(huì)用來(lái)做什么呢?已經(jīng)有一個(gè)個(gè)人使用的云主機(jī)。這臺(tái)云主機(jī)安裝的是centos系統(tǒng)。使用docker裝了幾個(gè)網(wǎng)站。使用nodejs通過(guò)m...
摘要:所以,剛開始我并沒(méi)有直接就投遞阿里,畢竟心里還是有一點(diǎn)點(diǎn)小害怕的。操作系統(tǒng)的內(nèi)存管理機(jī)制進(jìn)程和線程的區(qū)別說(shuō)下你對(duì)線程安全的理解有什么作用,和有什么區(qū)別實(shí)現(xiàn)原理用過(guò)么什么場(chǎng)景下用的底層原理。 作者:ppxyn。本文來(lái)自讀者投稿。該文已加入筆主的開源項(xiàng)目——JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識(shí)的文檔類項(xiàng)目),地址:https://github.com/Sna...
摘要:但是,不要高興的太早。。。。。,看看頁(yè)面上并不是顯示的我們傳過(guò)來(lái)的值。。?,F(xiàn)將兩個(gè)頁(yè)面的部分代碼做如下修改部分代碼部分代碼不知道你們了解這個(gè)的使用姿勢(shì)了嗎反正作為菜鳥的我是又學(xué)到了,歡迎留言說(shuō)說(shuō)你們?cè)陂_發(fā)中遇到的一些值得卸載小本本上的問(wèn)題唄 本文首發(fā)在個(gè)人的博客上,地址:重慶崽兒Brand,歡迎訪問(wèn)~~~~ 最近做公司項(xiàng)目遇到這樣一個(gè)需求: 從一個(gè)頁(yè)面跳轉(zhuǎn)到另一個(gè)頁(yè)面去選擇一些信息,選...
閱讀 2719·2023-04-26 00:56
閱讀 2118·2021-10-25 09:46
閱讀 1385·2019-10-29 15:13
閱讀 929·2019-08-30 15:54
閱讀 2295·2019-08-29 17:10
閱讀 2706·2019-08-29 15:43
閱讀 562·2019-08-29 15:28
閱讀 3117·2019-08-29 13:24