摘要:導(dǎo)入包注意使用了關(guān)鍵字上面使用了關(guān)鍵字之后,可以直接使用中的方法。通過(guò)關(guān)鍵字調(diào)用有參構(gòu)造方法控制臺(tái)輸出總結(jié)屬性和方法可以再?zèng)]有實(shí)例化對(duì)象的時(shí)候直接由類(lèi)名稱(chēng)進(jìn)行調(diào)用。屬性保存在全局?jǐn)?shù)據(jù)區(qū)。
前面兩篇分別介紹了static的屬性以及方法。本篇就做一個(gè)收尾,介紹下剩下的。
在之前的總結(jié):
不管多少個(gè)對(duì)象,都使用同一個(gè) static 屬性
使用 static 方法可以避免掉用實(shí)例化方法之后才能調(diào)用的限制。
導(dǎo)入 static 類(lèi)的包 靜態(tài)導(dǎo)入包靜態(tài)導(dǎo)包用法,將類(lèi)的方法直接導(dǎo)入到當(dāng)前類(lèi)中,從而直接使用“方法名”即可調(diào)用類(lèi)方法,更加方便。但是看上面的就不是特別直觀,不便于閱讀代碼。
Utils.java
package statics.utils; public class Utils { public static int int2Str(String str) { return Integer.valueOf(str); } public static int add(int x, int y) { return x+y; } }
Test.java
// 導(dǎo)入包 注意使用了 static 關(guān)鍵字 import static statics.utils.Utils.*; public class Test { public static void main(String[] args) { // 上面使用了 static 關(guān)鍵字之后,可以直接使用 Utils 中的方法。 add(1, 2); } }通過(guò) 類(lèi)名.方法名
Test.java
// 導(dǎo)入包 注意沒(méi)有使用 static 關(guān)鍵字了 import statics.utils.Utils; public class Test { public static void main(String[] args) { // 上面使用了 static 關(guān)鍵字之后,可以直接使用 Utils 中的方法。 Utils.add(1, 2); } }static 的實(shí)例用法
對(duì)于了解了static 方法之后,在來(lái)看幾個(gè)實(shí)際的例子回顧與加深下對(duì) static的理解。
示例一:實(shí)現(xiàn)類(lèi)實(shí)例化的統(tǒng)計(jì)需求
希望在每次實(shí)例化對(duì)象的時(shí)候,都打印一個(gè)信息,輸出產(chǎn)生第 x 個(gè)實(shí)例化對(duì)象。
Test.java
class Book { static int Index = 0; Book(){ Index++; System.out.println("實(shí)例化對(duì)象第"+ Index + "個(gè)"); } } public class Test { public static void main(String[] args) { new Book(); new Book(); new Book(); new Book(); new Book(); new Book(); } }
控制臺(tái)輸出
實(shí)例化對(duì)象第1個(gè) 實(shí)例化對(duì)象第2個(gè) 實(shí)例化對(duì)象第3個(gè) 實(shí)例化對(duì)象第4個(gè) 實(shí)例化對(duì)象第5個(gè) 實(shí)例化對(duì)象第6個(gè)示例二:實(shí)現(xiàn)屬性的自動(dòng)設(shè)置
需求
例如:現(xiàn)在某一個(gè)類(lèi)有一個(gè)無(wú)參構(gòu)造方法,一個(gè)有參構(gòu)造方法,有參構(gòu)造主要的目的是傳遞一個(gè) title 屬性,但是希望調(diào)用的不管是 有參構(gòu)造方法還是無(wú)參構(gòu)造方法,都可以為 title 設(shè)置內(nèi)容,希望內(nèi)容不要重復(fù)。
Test.java
class Book { private String title; static int Index = 0; Book() { // 通過(guò) this 關(guān)鍵字調(diào)用有參構(gòu)造方法 this("NOTITLE" + Index++); } Book(String title) { this.title = title; } public String getTitle() { return this.title; } } public class Test { public static void main(String[] args) { System.out.println(new Book("java").getTitle()); System.out.println(new Book().getTitle()); System.out.println(new Book().getTitle()); } }
控制臺(tái)輸出
java NOTITLE0 NOTITLE1總結(jié)
static 屬性和方法可以再?zèng)]有實(shí)例化對(duì)象的時(shí)候直接由類(lèi)名稱(chēng)進(jìn)行調(diào)用。
static 屬性保存在全局?jǐn)?shù)據(jù)區(qū)。內(nèi)存區(qū)一共有四個(gè):棧內(nèi)存、堆內(nèi)存、全局?jǐn)?shù)據(jù)區(qū)(存放所有的數(shù)據(jù))、全局代碼區(qū)(存放所有的方法)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/72382.html
摘要:用戶(hù)態(tài)不能干擾內(nèi)核態(tài)所以指令就有兩種特權(quán)指令和非特權(quán)指令不同的狀態(tài)對(duì)應(yīng)不同的指令。非特權(quán)指令所有程序均可直接使用。用戶(hù)態(tài)常態(tài)目態(tài)執(zhí)行非特權(quán)指令。 這是我今年從三月份開(kāi)始,主要的大廠面試經(jīng)過(guò),有些企業(yè)面試的還沒(méi)來(lái)得及整理,可能有些沒(méi)有帶答案就發(fā)出來(lái)了,還請(qǐng)各位先思考如果是你怎么回答面試官?這篇文章會(huì)持續(xù)更新,請(qǐng)各位持續(xù)關(guān)注,希望對(duì)你有所幫助! 面試清單 平安產(chǎn)險(xiǎn) 飛豬 上汽大通 浩鯨科...
摘要:注解提供了一種安全的類(lèi)似注釋的機(jī)制,用來(lái)將任何的信息或元數(shù)據(jù)與程序元素類(lèi)方法成員變量等進(jìn)行關(guān)聯(lián)。為程序的元素類(lèi)方法成員變量加上更直觀更明了的說(shuō)明,這些說(shuō)明與程序的業(yè)務(wù)邏輯無(wú)關(guān),并且提供給指定的工具或框架使用。 什么是注解? Annotation 是 Java5 之后開(kāi)始引入的新特性,中文為注解。注解提供了一種安全的類(lèi)似注釋的機(jī)制,用來(lái)將任何的信息或元數(shù)據(jù)(metadata)與程序元素(...
摘要:我的是忙碌的一年,從年初備戰(zhàn)實(shí)習(xí)春招,年三十都在死磕源碼,三月份經(jīng)歷了阿里五次面試,四月順利收到實(shí)習(xí)。因?yàn)槲倚睦砗芮宄业哪繕?biāo)是阿里。所以在收到阿里之后的那晚,我重新規(guī)劃了接下來(lái)的學(xué)習(xí)計(jì)劃,將我的短期目標(biāo)更新成拿下阿里轉(zhuǎn)正。 我的2017是忙碌的一年,從年初備戰(zhàn)實(shí)習(xí)春招,年三十都在死磕JDK源碼,三月份經(jīng)歷了阿里五次面試,四月順利收到實(shí)習(xí)offer。然后五月懷著忐忑的心情開(kāi)始了螞蟻金...
摘要:中的詳解必修個(gè)多線程問(wèn)題總結(jié)個(gè)多線程問(wèn)題總結(jié)有哪些源代碼看了后讓你收獲很多,代碼思維和能力有較大的提升有哪些源代碼看了后讓你收獲很多,代碼思維和能力有較大的提升開(kāi)源的運(yùn)行原理從虛擬機(jī)工作流程看運(yùn)行原理。 自己實(shí)現(xiàn)集合框架 (三): 單鏈表的實(shí)現(xiàn) 自己實(shí)現(xiàn)集合框架 (三): 單鏈表的實(shí)現(xiàn) 基于 POI 封裝 ExcelUtil 精簡(jiǎn)的 Excel 導(dǎo)入導(dǎo)出 由于 poi 本身只是針對(duì)于 ...
閱讀 3904·2021-09-27 13:35
閱讀 1083·2021-09-24 09:48
閱讀 2913·2021-09-22 15:42
閱讀 2353·2021-09-22 15:28
閱讀 3156·2019-08-30 15:43
閱讀 2624·2019-08-30 13:52
閱讀 2981·2019-08-29 12:48
閱讀 1462·2019-08-26 13:55