1.变量是 static final 修饰的“编译期常量”,如 public static final String c = "C";
public class Test {
public static void main(String[] args) {
System.out.println(A.c);
}
}
class A {
public static final String c = "C";
static {
System.out.print("A");
}
}
运行结果如下:C
public class Test {
public static void main(String[] args) {
System.out.println(B.c);
}
}
class A {
public static final String c = "C";
static {
System.out.print("A");
}
}
class B extends A {
static {
System.out.print("B");
}
}
运行结果如下:C
public class Test {
public static void main(String[] args) {
System.out.println(B.c);
}
}
class A {
static {
System.out.print("A");
}
}
class B extends A {
public static final String c = "C";
static {
System.out.print("B");
}
}
运行结果如下:C
2.变量是 static final 修饰的“非编译期常量”,如 public static final String c = new String("C");
public class Test {
public static void main(String[] args) {
System.out.println(A.c);
}
}
class A {
public static final String c = new String("C");
static {
System.out.print("A");
}
}
运行结果如下:AC
public class Test {
public static void main(String[] args) {
System.out.println(B.c);
}
}
class A {
public static final String c = new String("C");
static {
System.out.print("A");
}
}
class B extends A {
static {
System.out.print("B");
}
}
运行结果如下:AC
public class Test {
public static void main(String[] args) {
System.out.println(B.c);
}
}
class A {
static {
System.out.print("A");
}
}
class B extends A {
public static final String c = new String("C");
static {
System.out.print("B");
}
}
运行结果如下:ABC
3.变量是static 修饰,如 public static String c = "C";
public class Test {
public static void main(String[] args) {
System.out.println(A.c);
}
}
class A {
public static String c = "C";
static {
System.out.print("A");
}
}
运行结果如下:AC
public class Test {
public static void main(String[] args) {
System.out.println(B.c);
}
}
class A {
public static String c = "C";
static {
System.out.print("A");
}
}
class B extends A {
static {
System.out.print("B");
}
}
运行结果如下:AC
public class Test {
public static void main(String[] args) {
System.out.println(B.c);
}
}
class A {
static {
System.out.print("A");
}
}
class B extends A {
public static String c = "C";
static {
System.out.print("B");
}
}
运行结果如下:ABC