继承相关面试题

来源:互联网 发布:安徽网络大学马鞍山 编辑:程序博客网 时间:2024/06/03 21:20
package com.design.fatory.chapter01;public class Test {    public static void main(String[] args) {        A a = new B();        test(a);    }    public static void test(A a) {        System.out.println("test A");        a.whoAmI();    }    public static void test(B b) {        System.out.println("test B");        b.whoAmI();    }}class A {    public void whoAmI() {        System.out.println("I am A");    }}class B extends A {    public void whoAmI() {        System.out.println("I am B");    }}

结果:

test AI am B

分析:
1.第一步执行的方法来看肯定是要执行变量类型是A的方法,因为变量的类型就是A类型的,然后具体执行whoAmI方法的时候,肯定是执行子类自己的方法,不然继承和重写也就失去了意义了。

原创粉丝点击