如何在 Java 中建立靜態類 Object 而不引用外部類?
靜態成員(方法/變數)屬於類,它將與類一起載入到記憶體中。您可以呼叫它而無需建立物件。(使用類名作為引用)。在整個類中只有一個靜態欄位的副本可用,即靜態欄位的值在所有物件中都相同。您可以使用 static 關鍵字定義靜態欄位。
示例
public class Sample{
static int num = 50;
public static void demo(){
System.out.println("Value of num in the demo method "+ Sample.num);
}
}
public class Demo{
public static void main(String args[]){
System.out.println("Value of num in the main method "+ Sample.num);
Sample.demo();
}
}輸出
Value of num in the main method 50 Value of num in the demo method 50
從同一類中引用靜態成員
如果要引用類本身(在同一類中)的靜態成員,則無需引用該類,您可以直接訪問靜態成員。
示例
public class Sample{
static int num = 50;
public static void demo(){
System.out.println("Value of num in the demo method "+ Sample.num);
}
public static void main(String args[]){
demo();
System.out.println(num);
}
}輸出
Value of num in the demo method 50
內部類
在 Java 中,您可以在類中巢狀類,它們被稱為內部類。
語法
public class Outer{
public class Inner{
}
}當您在一個類中巢狀另一個類時,它就像外部類的例項成員。因此,如果宣告一個內部類為靜態的,則可以使用其名稱訪問其(內部類)的成員,如下所示:
outer_class_name.inner_class_name.members
示例
class OuterDemo {
static int data = 200;
static class InnerDemo {
public static void my_method() {
System.out.println("This is my nested class");
System.out.println(OuterDemo.data);
}
}
}
public class StaticClassExample{
public static void main(String args[]) {
System.out.println(OuterDemo.data);
//Outer.InnerDemo nested = new Outer.InnerDemo();
OuterDemo.InnerDemo.my_method();
}
}輸出
200 This is my nested class 200
如果嘗試引用靜態內部類的(靜態)成員,則也不需要使用外部類名,您只需使用內部類名(僅)引用該成員即可。
示例
class OuterDemo {
static int data = 200;
static class InnerDemo {
public static void my_method() {
System.out.println("This is my nested class");
System.out.println(OuterDemo.data);
}
}
public static void main(String args[]) {
System.out.println(data);
InnerDemo.my_method();
}
}輸出
200 This is my nested class 200
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP