Java中static和非static有什么區(qū)別-創(chuàng)新互聯(lián)

Java 中static和非static有什么區(qū)別

JAVA中有關(guān)鍵字static,可以修飾方法或者字段。那么,static修飾的方法和字段,與沒有static修飾的方法和字段,有什么區(qū)別呢?

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、平頂山網(wǎng)站維護、網(wǎng)站推廣。

在JAVA中,大部分方法和字段都是沒有被static修飾的,也被稱為實例變量實例方法,而被static修飾的則叫做靜態(tài)變量靜態(tài)方法

實例方法和實例變量

實例方法一般是一個new 出來的對象關(guān)聯(lián)的方法,只能在一個new出來的實例上使用,實例變量也是與new 出來的對象關(guān)聯(lián),不同的對象之間實例變量不互相影響。
實例方法內(nèi)部可以使用實例變量和靜態(tài)變量。
下面是一個相關(guān)示例:

// 類聲明
class ClassA {// 實例變量
    private int val;

    public ClassA(int val) {this.val = val;
    }

    // 實例方法
    public void hello() {// 使用實例變量
        System.out.println("hello" + val);
    }
}


// 使用
ClassA classA1 = new ClassA(1);
// 使用實例方法
// 輸出 hello1
classA1.hello();

ClassA classA2 = new ClassA(2);
// 輸出 hello2
// classA2里面的val變量是獨立的,與classA1無關(guān)
classA2.hello();
靜態(tài)方法和靜態(tài)變量

靜態(tài)變量和靜態(tài)方法是獨立存在的,并且每個類的靜態(tài)變量只有一份,不論這個類new了多少對象。所有new出來的對象都可以訪問到這一份數(shù)據(jù),對這份數(shù)據(jù)的任何修改,其他的實例都可以看到。
靜態(tài)方法由于是獨立存在的,不和任何一個實例關(guān)聯(lián),所以不能直接訪問實例變量和實例方法。如果想要訪問,只能通過某個實例的引用來訪問實例變量和實例方法。

以下面這個類為例,解釋一下上面的關(guān)系:

class ClassA {// 實例變量
    private int val;
    private static int staticVal;
}

關(guān)系如圖所示:

在這里插入圖片描述

可以看到,靜態(tài)變量和靜態(tài)方法是獨立的,各個實例只是單向地訪問他們。另外,他們不僅僅可以被這個類的實例訪問,也可以被其他類直接訪問。

靜態(tài)變量和靜態(tài)方法的訪問方式

靜態(tài)變量和靜態(tài)方法一般通過類名訪問,比如ClassA.staticVal,它可以被實例的引用訪問,但是一般不建議,比如:classA1.staticVal。使用類名訪問可以明確標(biāo)識出這是靜態(tài)變量,可以使代碼更加清晰。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

新聞名稱:Java中static和非static有什么區(qū)別-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article34/csgise.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、標(biāo)簽優(yōu)化、軟件開發(fā)、商城網(wǎng)站、網(wǎng)站制作、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司