摘要:導入包注意使用了關鍵字上面使用了關鍵字之后,可以直接使用中的方法。通過關鍵字調用有參構造方法控制臺輸出總結屬性和方法可以再沒有實例化對象的時候直接由類名稱進行調用。屬性保存在全局數據區。
前面兩篇分別介紹了static的屬性以及方法。本篇就做一個收尾,介紹下剩下的。
在之前的總結:
不管多少個對象,都使用同一個 static 屬性
使用 static 方法可以避免掉用實例化方法之后才能調用的限制。
導入 static 類的包 靜態導入包靜態導包用法,將類的方法直接導入到當前類中,從而直接使用“方法名”即可調用類方法,更加方便。但是看上面的就不是特別直觀,不便于閱讀代碼。
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
// 導入包 注意使用了 static 關鍵字 import static statics.utils.Utils.*; public class Test { public static void main(String[] args) { // 上面使用了 static 關鍵字之后,可以直接使用 Utils 中的方法。 add(1, 2); } }通過 類名.方法名
Test.java
// 導入包 注意沒有使用 static 關鍵字了 import statics.utils.Utils; public class Test { public static void main(String[] args) { // 上面使用了 static 關鍵字之后,可以直接使用 Utils 中的方法。 Utils.add(1, 2); } }static 的實例用法
對于了解了static 方法之后,在來看幾個實際的例子回顧與加深下對 static的理解。
示例一:實現類實例化的統計需求
希望在每次實例化對象的時候,都打印一個信息,輸出產生第 x 個實例化對象。
Test.java
class Book { static int Index = 0; Book(){ Index++; System.out.println("實例化對象第"+ Index + "個"); } } public class Test { public static void main(String[] args) { new Book(); new Book(); new Book(); new Book(); new Book(); new Book(); } }
控制臺輸出
實例化對象第1個 實例化對象第2個 實例化對象第3個 實例化對象第4個 實例化對象第5個 實例化對象第6個示例二:實現屬性的自動設置
需求
例如:現在某一個類有一個無參構造方法,一個有參構造方法,有參構造主要的目的是傳遞一個 title 屬性,但是希望調用的不管是 有參構造方法還是無參構造方法,都可以為 title 設置內容,希望內容不要重復。
Test.java
class Book { private String title; static int Index = 0; Book() { // 通過 this 關鍵字調用有參構造方法 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()); } }
控制臺輸出
java NOTITLE0 NOTITLE1總結
static 屬性和方法可以再沒有實例化對象的時候直接由類名稱進行調用。
static 屬性保存在全局數據區。內存區一共有四個:棧內存、堆內存、全局數據區(存放所有的數據)、全局代碼區(存放所有的方法)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72382.html
摘要:用戶態不能干擾內核態所以指令就有兩種特權指令和非特權指令不同的狀態對應不同的指令。非特權指令所有程序均可直接使用。用戶態常態目態執行非特權指令。 這是我今年從三月份開始,主要的大廠面試經過,有些企業面試的還沒來得及整理,可能有些沒有帶答案就發出來了,還請各位先思考如果是你怎么回答面試官?這篇文章會持續更新,請各位持續關注,希望對你有所幫助! 面試清單 平安產險 飛豬 上汽大通 浩鯨科...
摘要:注解提供了一種安全的類似注釋的機制,用來將任何的信息或元數據與程序元素類方法成員變量等進行關聯。為程序的元素類方法成員變量加上更直觀更明了的說明,這些說明與程序的業務邏輯無關,并且提供給指定的工具或框架使用。 什么是注解? Annotation 是 Java5 之后開始引入的新特性,中文為注解。注解提供了一種安全的類似注釋的機制,用來將任何的信息或元數據(metadata)與程序元素(...
摘要:我的是忙碌的一年,從年初備戰實習春招,年三十都在死磕源碼,三月份經歷了阿里五次面試,四月順利收到實習。因為我心理很清楚,我的目標是阿里。所以在收到阿里之后的那晚,我重新規劃了接下來的學習計劃,將我的短期目標更新成拿下阿里轉正。 我的2017是忙碌的一年,從年初備戰實習春招,年三十都在死磕JDK源碼,三月份經歷了阿里五次面試,四月順利收到實習offer。然后五月懷著忐忑的心情開始了螞蟻金...
閱讀 3872·2021-09-27 13:35
閱讀 1069·2021-09-24 09:48
閱讀 2899·2021-09-22 15:42
閱讀 2339·2021-09-22 15:28
閱讀 3145·2019-08-30 15:43
閱讀 2609·2019-08-30 13:52
閱讀 2971·2019-08-29 12:48
閱讀 1451·2019-08-26 13:55