色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java靜態(tài)類和非靜態(tài)屬

Java中的靜態(tài)類和非靜態(tài)屬性是面向?qū)ο缶幊讨斜仨氄莆盏闹匾拍睿旅嫖覀兎謩e來介紹一下它們的特點(diǎn)和用法。

靜態(tài)類

public class StaticClass {
static int count = 0;
public StaticClass() {
count++;
}
public static int getCount() {
return count;
}
}

靜態(tài)類是指被聲明為static的嵌套類。它與外部類沒有實(shí)質(zhì)性的關(guān)聯(lián),可以獨(dú)立創(chuàng)建或者銷毀。通常情況下,我們用靜態(tài)類來封裝不需要經(jīng)常訪問的功能方法,以節(jié)約內(nèi)存空間。

在上面的代碼中,我們定義了一個(gè)靜態(tài)類StaticClass,并在其中聲明了一個(gè)靜態(tài)的整型屬性count。我們還定義了一個(gè)構(gòu)造函數(shù),在每次創(chuàng)建對(duì)象時(shí)將count自增1。此外,我們還聲明了一個(gè)靜態(tài)方法getCount來獲取靜態(tài)屬性count的值。

使用靜態(tài)類的時(shí)候,我們可以通過類名直接調(diào)用靜態(tài)成員,如下:

System.out.println(StaticClass.getCount()); // 輸出:0
StaticClass obj = new StaticClass();
System.out.println(StaticClass.getCount()); // 輸出:1

非靜態(tài)屬性和方法

public class Person {
private String name;
private int age;
private static int count = 0;
public Person(String name, int age) {
this.name = name;
this.age = age;
count++;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public static int getCount() {
return count;
}
}

非靜態(tài)屬性和方法是指在類中聲明的屬性和方法,它們不被static修飾。這些屬性和方法是屬于對(duì)象的,而不是屬于類的。因此,我們必須先創(chuàng)建對(duì)象,才能訪問這些屬性和方法。

在上面的代碼中,我們定義了一個(gè)Person類,并在其中聲明了三個(gè)屬性:name、age和count。其中name和age是非靜態(tài)屬性,而count是靜態(tài)屬性。我們還定義了一個(gè)構(gòu)造函數(shù),在每次創(chuàng)建對(duì)象時(shí)將count自增1。此外,我們還聲明了三個(gè)不同的方法:getName、getAge和getCount來獲取對(duì)應(yīng)的屬性值。

使用非靜態(tài)屬性和方法的時(shí)候,我們必須先創(chuàng)建對(duì)象,然后通過這個(gè)對(duì)象來訪問屬性和方法,如下:

Person p = new Person("張三", 20);
System.out.println(p.getName()); // 輸出:張三
System.out.println(p.getAge()); // 輸出:20
System.out.println(Person.getCount()); // 輸出:1

總之,在Java編程中,靜態(tài)成員(包括靜態(tài)類、靜態(tài)屬性和靜態(tài)方法)是屬于類的,而非靜態(tài)成員(包括非靜態(tài)屬性和非靜態(tài)方法)是屬于對(duì)象的。通過合理地使用它們,我們可以更好地設(shè)計(jì)和構(gòu)建高效、靈活的Java應(yīng)用程序。