关于java static 关键字
生活随笔
收集整理的這篇文章主要介紹了
关于java static 关键字
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
當(dāng)我們創(chuàng)建類時會指出哪個類的對象的外觀與行為。
一般的流程是用new 創(chuàng)建這個類的對象,然后生成數(shù)據(jù)的存儲空間,并使用相應(yīng)的方法。
但以下兩種情況不太適合這個流程:
- 只想用一個存儲區(qū)域來保存一個特定的數(shù)據(jù)—–無論要創(chuàng)建多少個對象,甚至根本不創(chuàng)建對象。
- 當(dāng)我們需要一個特殊的方法,它沒有與這個類有任何的對象關(guān)聯(lián)。也就是說,即使沒有創(chuàng)建對象,也需要一個能調(diào)用的方法。
此時就要使用static關(guān)鍵字去定義我們的屬性或者方法。
除了靜態(tài)數(shù)據(jù)和靜態(tài)方法,還有靜態(tài)內(nèi)部類的使用
在此之前首先說一下內(nèi)部類
內(nèi)部類
要注意的有下面幾點
- 普通(非內(nèi)部)類不可設(shè)為private或protected—-只允許public或者“友好的”。
- 內(nèi)部類可以聲明為private, 類設(shè)計人員可完全禁止其他人依賴類型編碼,并可將具體的實施細(xì)節(jié)完全隱藏起來,除此以外,從客戶程序員的角度來看,一個接口的范圍沒有意義,因為他們不能訪問不屬于公共接口類的任何額外方法。這樣一來,java編譯器也有機會生成效率更高的代碼。
static 內(nèi)部類
內(nèi)部類的對象默認(rèn)持有創(chuàng)建它的那個封裝類的對象的引用。static內(nèi)部類意味著: - 為創(chuàng)建一個static內(nèi)部類的對象,我們不需要一個外部類的對象
- 不能從static內(nèi)部類的一個對象中方位一個外部類對象
由于static 成員只能位于一個類的外部級別,所以內(nèi)部類不可
擁有static數(shù)據(jù)或者static內(nèi)部類。倘若為了創(chuàng)建內(nèi)部類的對象
而不需要創(chuàng)建內(nèi)部類的一個對象,那么可將所有的東西都設(shè)
為static. 同時也必須將內(nèi)部類設(shè)為static.
總結(jié)
以上是生活随笔為你收集整理的关于java static 关键字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 晚上梦到跟前任复合代表什么
- 下一篇: handler 消息处理机制