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

java靜態聲明和非靜態

張少萍1年前8瀏覽0評論

Java中的靜態聲明和非靜態聲明是使用關鍵字來實現的。靜態聲明使用static關鍵字,在實例化對象之前就已經存在;而非靜態聲明則是在實例化對象后才存在。

靜態聲明可以用于方法、屬性和內部類。靜態方法可以直接通過類名來調用,而不需要先實例化對象。靜態屬性也可以直接通過類名來訪問,也可以在靜態塊中初始化。靜態內部類可以在沒有外部類實例的情況下創建。

public class StaticExample {
public static int staticCount = 0;
public int instanceCount = 0;
public StaticExample() {
staticCount++;
instanceCount++;
}
public static void staticMethod() {
System.out.println("This is a static method.");
}
public void instanceMethod() {
System.out.println("This is an instance method.");
}
public static class StaticNestedClass {
public void nestedMethod() {
System.out.println("This is a static nested class method.");
}
}
public static void main(String[] args) {
StaticExample obj1 = new StaticExample();
StaticExample obj2 = new StaticExample();
System.out.println("Static variable count: " + StaticExample.staticCount);
System.out.println("Instance variable count (object 1): " + obj1.instanceCount);
System.out.println("Instance variable count (object 2): " + obj2.instanceCount);
StaticExample.staticMethod();
StaticExample.StaticNestedClass nestedObj = new StaticExample.StaticNestedClass();
nestedObj.nestedMethod();
}
}

非靜態聲明必須在創建對象后才能使用。非靜態屬性和方法只能通過對象來訪問,不能直接通過類名來訪問。非靜態屬性可以在構造函數中初始化。可以通過static關鍵字來聲明一個靜態常量。

public class NonStaticExample {
public int count = 0;
public void method() {
System.out.println("This is a non-static method.");
}
public static void main(String[] args) {
NonStaticExample obj = new NonStaticExample();
obj.count = 10;
obj.method();
}
}

總的來說,靜態聲明在程序執行時就已經存在,可以直接通過類名訪問;而非靜態聲明則是在對象創建時才存在,只能通過對象來訪問。根據具體的需求,開發者可以選擇使用靜態聲明或非靜態聲明。