Java入门到精通——基础篇之static关键字
生活随笔
收集整理的這篇文章主要介紹了
Java入门到精通——基础篇之static关键字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、概述
? ? ? ?static 關鍵字是聲明靜態變量,靜態方法用的。static的含義是屬于類且不屬于類對象的變量和函數。
二、static的產生。
? ? ? ? 在創建對象的時候除非用new創建那個類的對象,否則實際上并沒有獲得任何對象只有當執行new來創建對象時數據存儲空間才被分配,其方法才供外界調用。但是有兩種情況上述方法時無法解決的
第一種只想為某特定域分配單一存儲空間而不去考慮究竟要創建多少對象,甚至不需要創建任何對象。
第二種希望某個方法(變量)不予包含它的類的人很對象關聯在一起。也就是沒有創建對象,也能調用這個方法。
? ? ? ? 為了解決上面的兩個問題static關鍵字就誕生了。
? ? ? ? 當一個事物是static的時候就意味著這個域或方法不會與包含它的那個類的任何對象實例關聯在一起。即使從未創建某個類的任何對象,也可以調用其Static方法或其static域。
? ? ? ?static 關鍵字是聲明靜態變量,靜態方法用的。static的含義是屬于類且不屬于類對象的變量和函數。
二、static的產生。
? ? ? ? 在創建對象的時候除非用new創建那個類的對象,否則實際上并沒有獲得任何對象只有當執行new來創建對象時數據存儲空間才被分配,其方法才供外界調用。但是有兩種情況上述方法時無法解決的
第一種只想為某特定域分配單一存儲空間而不去考慮究竟要創建多少對象,甚至不需要創建任何對象。
第二種希望某個方法(變量)不予包含它的類的人很對象關聯在一起。也就是沒有創建對象,也能調用這個方法。
? ? ? ? 為了解決上面的兩個問題static關鍵字就誕生了。
? ? ? ? 當一個事物是static的時候就意味著這個域或方法不會與包含它的那個類的任何對象實例關聯在一起。即使從未創建某個類的任何對象,也可以調用其Static方法或其static域。
三、例子。
TestStatic.java
public class TestStatic {public static int i=33;}
StaticMain.java
public class StaticMain {/*** @param args*/public static void main(String[] args) {System.out.println("TestStatic.i="+TestStatic.i);TestStatic s1=new TestStatic();TestStatic s2=new TestStatic();System.out.println("s1.i="+s1.i);System.out.println("s2.i="+s2.i);s2.i=133;System.out.println("s1.i="+s1.i);System.out.println("s2.i="+s2.i);}}
效果圖:
四、總結。
? ? ? ? 在例子我們發現第一個打印出來i的值就是實現了希望某個變量不予包含它的類的人很對象關聯在一起。也就是沒有創建對象,也能調用這個方法。下面的則是實現了只想為某特定域分配單一存儲空間而不去考慮究竟要創建多少對象,甚至不需要創建任何對象。static關鍵字就是為我們解決了這兩個問題。
? ? ? ? static關鍵字還是需要慎重使用以免給程序帶來不必要的麻煩。
轉載于:https://www.cnblogs.com/iplus/p/4490362.html
總結
以上是生活随笔為你收集整理的Java入门到精通——基础篇之static关键字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器能用usb pe安装win7系统,
- 下一篇: 浅析Java内存模型