本文目錄一覽:
- 1、java 靜態屬性
- 2、java靜態屬性是怎樣聲明的
- 3、JAVA什麼是類和對象的靜態屬性
- 4、java的靜態類型有什麼特點
- 5、java靜態資源(靜態方法,靜態屬性)是程序一運行就加載到jvm中,還是當被調用的時候才進行加載呢?
- 6、java靜態屬性
java 靜態屬性
Department的位元組碼被加載的時候,也就是說必須有某個操作能用到這個類的時候。
靜態代碼塊是在位元組碼加載的時候執行的,並且是只執行一次的,同時這個類的靜態成員比如屬性或者方法也是這個時候初始化的,而不是說是在實例化對象的時候。
java靜態屬性是怎樣聲明的
java中的關鍵字static修飾的屬性就為靜態屬性,static修飾的方法就為靜態方法。不過一般靜態方法也會用public來修飾,原因是可以使所有的類方便的調用,調用方式:類名.方法名。
java的一大特性是:封裝,為了安全性一般屬性都是在本類中使用,靜態方法也不例外。
如不需在其他類調用的話靜態方法的聲明為:private static String str;
即靜態方法的聲明:範圍修飾符 static 數據類型 屬性名;
如果你要使用這個屬性的話還得給這個屬性初始化,即賦值。
JAVA什麼是類和對象的靜態屬性
靜態類的意思是可以不用實例化而直接使用。
比如我們使用color靜態類,就可以直接調用color類的方法和屬性,
而不用先構造一個類實例即對象,color
color
=
new
color();
因為這樣的語句看起來沒什麼意義。
面向對象的思想很豐富了,但是其精髓確實讓事情變的簡單,不需要的就可以不需要。
java的靜態類型有什麼特點
靜態屬性:隨着類的加載而加載,該屬性不屬於某個對象,屬於整個類
靜態方法:直接使用類名調用,靜態方法里不能訪問非靜態成員變量
靜態類:不能直接創建對象,不可被繼承
java靜態資源(靜態方法,靜態屬性)是程序一運行就加載到jvm中,還是當被調用的時候才進行加載呢?
當類第一次被調用時加載(靜態方法,靜態屬性的加載就是類加載) 。
1、類中的靜態屬性會被加入到類對象(也可以叫做類的模板,是類的描述) 的構造器中,靜態方法也會被加入到類對象中。
2、當第一次使用類時,JVM會通過類加載器,加載類對象,從而初始化靜態屬性,並裝入類的方法,包括靜態方法和實例方法(方法不會被調用,只是加載,從這個意義上來說,靜態方法和實例方法是類似的)。
3、當創建類的實例對象時,JVM會調用類的構造器,從而初始化類的屬性。
擴展資料:
類(包括靜態方法、屬性)加載過程:
一、加載。
根據一個類的全限定名(如cn.edu.hdu.test.HelloWorld.class)來讀取此類的二進制位元組流到JVM內部。
將位元組流所代表的靜態存儲結構轉換為方法區的運行時數據結構(hotspot選擇將Class對象存儲在方法區中,Java虛擬機規範並沒有明確要求一定要存儲在方法區或堆區中)轉換為一個與目標類型對應的java.lang.Class對象。
二、連接。
1、驗證。
驗證階段主要包括四個檢驗過程:文件格式驗證、元數據驗證、位元組碼驗證和符號引用驗證;
2、準備。
為類中的所有靜態變量分配內存空間,並為其設置一個初始值(由於還沒有產生對象,實例變量將不再此操作範圍內);
3、解析。
將常量池中所有的符號引用轉為直接引用(得到類或者字段、方法在內存中的指針或者偏移量,以便直接調用該方法)。這個階段可以在初始化之後再執行。
參考資料:
百度百科–Java類加載器
百度百科–JVM
java靜態屬性
靜態屬性,就是在類被裝入虛擬機就初始化的一些屬性,這些屬性不需要實例化類就可以通過類名直接使用。靜態屬性一般除了工具類,都是給所有類的實例共享的一些屬性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/271702.html