黑马程序员技术交流社区

标题: 关于向上转型的子类成员变量和成员函数的问题 [打印本页]

作者: 好大一只    时间: 2016-2-3 19:13
标题: 关于向上转型的子类成员变量和成员函数的问题
class Fu
{
        int num=4;
        void show()
        {
                System.out.println("showFu");
        }
}
class Zi extends Fu
{
        int num=5;
        void show()
        {
                System.out.println("showZi");
                System.out.println(this.num);
        }
}
public class Demo {
        public static void main(String[] args)
        {
                Fu f=new Zi();
                f.show();
                System.out.println(f.num);
        }
}

this代表一个本类对象的引用,f不是提升成了Fu类么
子类show()方法中的this.num为什么不是4
作者: 洋葱头头    时间: 2016-2-4 08:46
创建子类实例的时候就调用了子类的构造方法  继而调用父类构造方法 然后初始化num = 4; 父类构造方法完毕,执行子类构造方法 num = 5; 所以num = 5




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2