1 class A{
2 static int num = 1;
3 public static void Display(){
4 System.out.println( num );
5 }
6 }
7
8 class B extends A{
9 static int num = 2;
10 public static void Display(){
11 System.out.println( num );
12 }
13 }
14
15 class C extends A{
16 static int num = 3;
17 }
18
19 class D extends B{
20 static int num = 4;
21 }
22
23 public class StaticTest {
24 public static void main(String[] args){
25 A.Display();
26 B.Display();
27 C.Display();
28 D.Display();
29 }
30 }
基类中,静态值和静态函数可以被覆盖。但如果要访问继承类中的继承类的值,需要重写方法,不然访问的就是基类的值。
运行结果不是1,2,3,4,而是1,2,1,2。
时间: 2024-08-24 18:38:11