[英]Access superclass static variable in subclass
我有一個帶有靜態變量a
的超類Test
,並且我還創建了一個子類Test1
,從中我可以訪問超類靜態變量。
這是這樣做的有效方法嗎? 高度贊賞任何解釋。
public class Test {
public static String a = "";
Test() {
a += "testadd";
}
}
public class Test1 extends Test {
public Test1() {
a += "test1add";
}
public static void main(String args[]){
Test1 test1 = new Test1();
System.out.println(a);
}
}
靜態變量是類變量,您可以使用classname.variablename訪問它們。
public class Test {
public static String a = "";
Test() {
a += "testadd";
}
}
public class Test1 extends Test {
public Test1() {
Test.a += "test1add";
}
public static void main(String args[]) {
Test1 test1 = new Test1();
System.out.println(a);
}
}
您可以使用subclass object.superClassStaticField
或SuperClassName.superClassStaticField
對其進行訪問。 后一種是訪問靜態變量的靜態方法。
例如:
public class SuperClassStaticVariable {
public static void main(String[] args) {
B b = new B();
b.a = 2; // works but compiler warning that it should be accessed as static way
A.a = 2; // ok
}
}
class A {
static int a;
}
class B extends A {}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.