本文章向大家介紹static關(guān)鍵字在Java中有什么用的基本知識(shí)點(diǎn)總結(jié)和需要注意事項(xiàng),具有一定的參考價(jià)值,需要的朋友可以參考一下。
Java的特點(diǎn)有哪些 1.Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以?xún)?yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 2.Java具有簡(jiǎn)單性、面向?qū)ο蟆⒎植际?、安全性、平臺(tái)獨(dú)立與可移植性、動(dòng)態(tài)性等特點(diǎn)。 3.使用Java可以編寫(xiě)桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。
修飾成員變量
static關(guān)鍵字修飾的成員變量稱(chēng)為靜態(tài)成員變量,也稱(chēng)靜態(tài)變量。有了靜態(tài)變量與之對(duì)應(yīng)的就是非靜態(tài)變量
靜態(tài)變量:被所有對(duì)象共享,內(nèi)存中只有一個(gè)副本,當(dāng)且僅當(dāng)類(lèi)被初次加載時(shí)被初始化一次
非靜態(tài)變量:是對(duì)象擁有的,當(dāng)對(duì)象被創(chuàng)建時(shí)被初始化,內(nèi)存中存在多個(gè)副本且互不影響
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修飾的方法稱(chēng)為靜態(tài)方法。靜態(tài)方法可以直接調(diào)用類(lèi)的靜態(tài)變量和其他靜態(tài)方法,不能直接調(diào)用成員變量和非靜態(tài)方法(除非通過(guò)對(duì)象調(diào)用)。
class A { static { System.out.println("靜態(tài)代碼塊"); } static final int i; int j; static void method() { System.out.println(i);//直接訪問(wèn)靜態(tài)變量 System.out.println(new D().j);//靜態(tài)方法中訪問(wèn)非靜態(tài)變量需要通過(guò)對(duì)象調(diào)用 method1();//直接調(diào)用靜態(tài)方法 new D().method2();//靜態(tài)方法中訪問(wèn)非靜態(tài)方法需要通過(guò)對(duì)象調(diào)用 } static void method1() { System.out.println(i);//靜態(tài)方法中直接訪問(wèn)靜態(tài)變量 } void method2() { System.out.println(i);//非靜態(tài)方法中可以直接訪問(wèn)靜態(tài)變量 } }
靜態(tài)代碼塊
static修飾的代碼塊叫做靜態(tài)代碼塊。當(dāng)類(lèi)初次被加載時(shí),會(huì)按照代碼塊順序執(zhí)行一次。用來(lái)優(yōu)化程序。
例如在開(kāi)頭提到的用在JDBC工具類(lèi)中,使用靜態(tài)代碼塊來(lái)加載資源,當(dāng)類(lèi)被初始化時(shí)只執(zhí)行一次。
注:構(gòu)造方法用于對(duì)象的初始化,靜態(tài)代碼塊用于類(lèi)的初始化操作。
靜態(tài)導(dǎo)包
相比于以上三種,第四種是我之前沒(méi)有接觸過(guò)的。
在用import導(dǎo)入包或者類(lèi)時(shí),可以用static修飾包名或者類(lèi),表示靜態(tài)導(dǎo)入。不同于非static導(dǎo)入,采用static導(dǎo)入包后,在不與當(dāng)前類(lèi)的方法名沖突的情況下,無(wú)需使用“類(lèi)名.方法名”的方法去調(diào)用類(lèi)方法了,直接可以采用"方法名"去調(diào)用類(lèi)方法,就好像是該類(lèi)自己的方法一樣使用即可。
public class Test { static void method1() { System.out.println("static method1"); } static void method2() { System.out.println("static method2"); } }
靜態(tài)導(dǎo)入之后:
import static com.liu.stuatic.Test.method1; public class Client { public static void main(String[] args) { method1(); // 通過(guò)靜態(tài)導(dǎo)入的方法不需類(lèi)名直接調(diào)用 StaticTest.method2(); } }
以上就是小編為大家?guī)?lái)的static關(guān)鍵字在Java中有什么用的全部?jī)?nèi)容了,希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,!
文章題目:static關(guān)鍵字在Java中有什么用-創(chuàng)新互聯(lián)
當(dāng)前地址:http://chinadenli.net/article8/psjip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、虛擬主機(jī)、商城網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)站策劃、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容