您好,登錄后才能下訂單哦!
本文章向大家介紹static關鍵字在Java中有什么用的基本知識點總結和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。
Java的特點有哪些 1.Java語言作為靜態面向對象編程語言的代表,實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。 2.Java具有簡單性、面向對象、分布式、安全性、平臺獨立與可移植性、動態性等特點。 3.使用Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
修飾成員變量
static關鍵字修飾的成員變量稱為靜態成員變量,也稱靜態變量。有了靜態變量與之對應的就是非靜態變量
靜態變量:被所有對象共享,內存中只有一個副本,當且僅當類被初次加載時被初始化一次
非靜態變量:是對象擁有的,當對象被創建時被初始化,內存中存在多個副本且互不影響
public class Test{ public static void main(String[] args) { System.out.println(Person.name); System.out.println(new Person().age); } } class Person{ static String name; int age; }
修飾方法
static修飾的方法稱為靜態方法。靜態方法可以直接調用類的靜態變量和其他靜態方法,不能直接調用成員變量和非靜態方法(除非通過對象調用)。
class A { static { System.out.println("靜態代碼塊"); } static final int i; int j; static void method() { System.out.println(i);//直接訪問靜態變量 System.out.println(new D().j);//靜態方法中訪問非靜態變量需要通過對象調用 method1();//直接調用靜態方法 new D().method2();//靜態方法中訪問非靜態方法需要通過對象調用 } static void method1() { System.out.println(i);//靜態方法中直接訪問靜態變量 } void method2() { System.out.println(i);//非靜態方法中可以直接訪問靜態變量 } }
靜態代碼塊
static修飾的代碼塊叫做靜態代碼塊。當類初次被加載時,會按照代碼塊順序執行一次。用來優化程序。
例如在開頭提到的用在JDBC工具類中,使用靜態代碼塊來加載資源,當類被初始化時只執行一次。
注:構造方法用于對象的初始化,靜態代碼塊用于類的初始化操作。
靜態導包
相比于以上三種,第四種是我之前沒有接觸過的。
在用import導入包或者類時,可以用static修飾包名或者類,表示靜態導入。不同于非static導入,采用static導入包后,在不與當前類的方法名沖突的情況下,無需使用“類名.方法名”的方法去調用類方法了,直接可以采用"方法名"去調用類方法,就好像是該類自己的方法一樣使用即可。
public class Test { static void method1() { System.out.println("static method1"); } static void method2() { System.out.println("static method2"); } }
靜態導入之后:
import static com.liu.stuatic.Test.method1; public class Client { public static void main(String[] args) { method1(); // 通過靜態導入的方法不需類名直接調用 StaticTest.method2(); } }
以上就是小編為大家帶來的static關鍵字在Java中有什么用的全部內容了,希望大家多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。