问题
类 A 为 基类
类 B 继承与类 A
类 C 继承与类 B
同时三个类中都有方法f
如何通过类 C 的对象访问 类 A 的方法???
这个问题非常容易使人产生误导为 : super.super.f();
正确的方法为:用子类对象访问基类方法.
将方法声明为static 就可以实现子类对象访问基类方法
代码实现:
类 A 为 基类
类 B 继承与类 A
类 C 继承与类 B
同时三个类中都有方法f
如何通过类 C 的对象访问 类 A 的方法???
这个问题非常容易使人产生误导为 : super.super.f();
正确的方法为:用子类对象访问基类方法.
将方法声明为static 就可以实现子类对象访问基类方法
代码实现:
1
class A {
2
static void f() {
3
System.out.println("hello,A");
4
}
5![]()
6
}
7![]()
8
class B extends A {
9![]()
10
static void f() {
11
System.out.println("hello,B");
12
}
13![]()
14
}
15![]()
16
class TestA {
17
public static void main(String[] args) {
18
B b = new B();
19
b.f(); //JDK1.4 中结果输出 “hello,B”
20
A a = new B();
21
a.f();//JDK1.4 中结果输出 “hello,A”
22
}
23
}
24![]()
25![]()
class A {2
static void f() {3
System.out.println("hello,A");4
}5

6
}7

8
class B extends A {9

10
static void f() {11
System.out.println("hello,B");12
}13

14
}15

16
class TestA {17
public static void main(String[] args) {18
B b = new B();19
b.f(); //JDK1.4 中结果输出 “hello,B”20
A a = new B();21
a.f();//JDK1.4 中结果输出 “hello,A” 22
}23
}24

25



浙公网安备 33010602011771号