国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

面向?qū)ο缶幊讨衧tatic和final關(guān)鍵字的應(yīng)用

static修飾成員變量在面向?qū)ο蟮木幊讨校瑂tatic關(guān)鍵字被廣泛應(yīng)用于成員變量。首先,static修飾的成員變量不屬于對象的數(shù)據(jù)結(jié)構(gòu),而是屬于類的范疇。這意味著我們可以直接使用類名來引用這個變量

static修飾成員變量

在面向?qū)ο蟮木幊讨?,static關(guān)鍵字被廣泛應(yīng)用于成員變量。首先,static修飾的成員變量不屬于對象的數(shù)據(jù)結(jié)構(gòu),而是屬于類的范疇。這意味著我們可以直接使用類名來引用這個變量,而無需創(chuàng)建類的實(shí)例。無論該類被實(shí)例化多少次,static修飾的成員變量都只有一份內(nèi)存空間。舉例來說,對于以下代碼片段中的Person類:

```java

public class Person {

private static int count;

public Person() {

(count);

}

public static void main(String args[]) {

Person person1 new Person();

Person person2 new Person();

}

}

```

運(yùn)行結(jié)果會輸出 `0 1`。這是因?yàn)镴VM在方法區(qū)創(chuàng)建了一個count對象和類的信息,而這些信息只有一份,每次執(zhí)行`new Person()`時,count都會自增。

static修飾方法

除了成員變量,static關(guān)鍵字也可以用于方法。當(dāng)方法被調(diào)用時,它會隱式地傳遞對象的引用,即`this`。舉例來說,當(dāng)調(diào)用`getName()`方法時,實(shí)際上也隱含地傳遞了`person`作為參數(shù),即`this`代表著`person`。另外,static修飾的方法不需要針對特定對象操作,其運(yùn)行結(jié)果僅與輸入的參數(shù)相關(guān),因此可以通過類名直接調(diào)用。然而,在static方法中無法訪問非static方法,通常用于提供一些“工具方法”和“工廠方法”,比如`()`、`Math.sqrt()`、`()`等。

static語句塊的應(yīng)用

static語句塊是類的代碼塊,在類加載時執(zhí)行且僅執(zhí)行一次,常用于加載靜態(tài)資源??紤]以下Person類代碼片段:

```java

public class Person {

static {

("加載靜態(tài)資源");

}

public Person() {

("person構(gòu)造器");

}

public static void main(String args[]) {

Person person new Person();

}

}

```

在運(yùn)行該程序時,先輸出"加載靜態(tài)資源",然后再輸出"person構(gòu)造器"。這是因?yàn)樵诩虞dPerson類時,會先執(zhí)行static語句塊,隨后才創(chuàng)建類的實(shí)例。

綜上所述,static和final關(guān)鍵字在面向?qū)ο缶幊讨衅鸬街陵P(guān)重要的作用,能夠簡化代碼結(jié)構(gòu)、提高代碼的可讀性和性能。熟練掌握它們的用法將有助于開發(fā)出更加高效和健壯的Java程序。

標(biāo)簽: