黑马程序员技术交流社区

标题: 今天是个好日子,出条题给大家猜猜结果是啥,只能用脑 [打印本页]

作者: leiyingyin    时间: 2015-8-18 00:35
标题: 今天是个好日子,出条题给大家猜猜结果是啥,只能用脑
public class Son extends Father {

    private String name = "son";

    public Son () {
        tellName();
        printName();
    }

    public void tellName() {
        System.out.println("Son tell name: " + name);
    }

    public void printName() {
        System.out.println("Son print name: " + name);
    }

    public static void main(String[] args){

        new Son ();   
    }
}

class Father{

    private String name = "father";

    public Father() {
        tellName();
        printName();
    }

    public void tellName() {
        System.out.println("Fathertell name: " + name);
    }

    public void printName() {
        System.out.println("Father print name: " + name);
    }
}


作者: code_linux    时间: 2015-8-18 00:57
Fathertell name:father
Father print name:father
Fathertell name:father
Father print name:father
Son tell name:son
Son print name: son
作者: code_linux    时间: 2015-8-18 01:02
大概是这个样子的吧,,,困死了。该睡觉了。对不对呢?
作者: leiyingyin    时间: 2015-8-18 01:07
code_linux 发表于 2015-8-18 01:02
大概是这个样子的吧,,,困死了。该睡觉了。对不对呢?

明天再说答案,让多点人回答先
作者: pengbeilin    时间: 2015-8-18 10:04
留名 等别人的答案
作者: 求学之路    时间: 2015-8-18 10:16
等答案。。。
作者: code_linux    时间: 2015-8-18 10:48
leiyingyin 发表于 2015-8-18 01:07
明天再说答案,让多点人回答先

醉了,,,我发的是什么鬼答案。。。哎!
作者: sven556677    时间: 2015-8-18 11:44
code_linux 发表于 2015-8-18 10:48
醉了,,,我发的是什么鬼答案。。。哎!

呵呵,你看其他人就隐藏的多深。
作者: boboyuwu    时间: 2015-8-18 11:53
本帖最后由 boboyuwu 于 2015-8-18 11:56 编辑


觉得答案应该是这个
Fathertell name:father
Father print name:father
Son tell name:son
Son print name:son
Fathertell name:father
Father print name:father
Son tell name:son
Son print name:son

作者: code_linux    时间: 2015-8-18 11:59
sven556677 发表于 2015-8-18 11:44
呵呵,你看其他人就隐藏的多深。

楼下这位兄台比我还要嗨。。。
作者: 王盟    时间: 2015-8-18 15:29
编译运行,我擦,果然好嗨的答案
作者: 王盟    时间: 2015-8-18 15:42
子类中重写了父类的这两个方法:
tellName
printName
所以在创建子类对象的时候,是不会调用父类的方法,一定会调用子类的方法。而创建子类对象时,先加载父类,子类的name属性还没有加载,所以最终结果是……
作者: 黄蒙    时间: 2015-8-18 20:10
这道题赞。。以前还没发现这种情况
作者: 13706649811    时间: 2015-8-18 21:03
表示新手看不懂 。
作者: 18333611664    时间: 2015-8-18 21:06
这道题赞。。以前还没发现这种情况
作者: 肋肋    时间: 2015-8-19 13:54
跑跑看,很好奇~~~~~~~~~~~~~
作者: vipsong    时间: 2015-8-19 15:12
很好的题目,谢谢分享
作者: DD_vincent    时间: 2015-8-19 18:18
本帖最后由 DD_vincent 于 2015-8-19 18:26 编辑

这都没有静态方法...直接调用子类的构造函数不就结了?
创建子类对象的过程:
调用父类静态代码块
调用子类静态代码块
调用父类代码块
调用父类构造函数
调用子类代码块
调用子类构造函数

作者: 落叶随尘    时间: 2015-8-19 21:40
看不懂哦




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