- class A {
-
- void fun1() {
-
- System.out.println(fun2()); //此处打印的是fun2()方法的返回值。
-
- }
-
- int fun2() {
-
- return 345;
-
- }
-
- }
-
- public class B extends A {
-
- int fun2() { //此方法覆盖了A类的fun2()方法,所以第一个打印fun2()被覆盖后的678。
-
- return 678;
-
- }
-
- public static void main(String args[]) {
-
- B b = new B();
-
- b.fun1();
-
- A a = b; //把B类型的对象引用赋值给了变量a,此时变量a的引用其实指向的是对象B,故结果与第一个值是一样的。
-
- a.fun1();
-
- }
-
- }
复制代码 |