问题
类 A 为 基类
类 B 继承与类 A
类 C 继承与类 B
同时三个类中都有方法f
如何通过类 C 的对象访问 类 A 的方法???
这个问题非常容易使人产生误导为 : super.super.f();
正确的方法为:用子类对象访问基类方法.
将方法声明为static 就可以实现子类对象访问基类方法
代码实现:
类 A 为 基类
类 B 继承与类 A
类 C 继承与类 B
同时三个类中都有方法f
如何通过类 C 的对象访问 类 A 的方法???
这个问题非常容易使人产生误导为 : super.super.f();
正确的方法为:用子类对象访问基类方法.
将方法声明为static 就可以实现子类对象访问基类方法
代码实现:
1class A {
2 static void f() {
3 System.out.println("hello,A");
4 }
5
6}
7
8class B extends A {
9
10 static void f() {
11 System.out.println("hello,B");
12 }
13
14}
15
16class 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
2 static void f() {
3 System.out.println("hello,A");
4 }
5
6}
7
8class B extends A {
9
10 static void f() {
11 System.out.println("hello,B");
12 }
13
14}
15
16class 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