一道Java笔试面试题,代码如下:
package com.starit;
public class Father {
private String name="FATHER";
public Father(){
whoAmI();
tellName(name);
}
public void whoAmI(){
System.out.println("Father says, I am " + name);
}
public void tellName(String name){
System.out.println("Father's name is " + name);
}
}
package com.starit;
public class Son extends Father {
private String name="SON";
public Son(){
whoAmI();
tellName(name);
}
public void whoAmI(){
System.out.println("Son says, I am " + name);
}
public void tellName(String name){
System.out.println("Son's name is " + name);
}
}
当执行 new Son(); 时,会输出什么?
最终结果如下:
Son says, I am null
Son's name is FATHER
Son says, I am SON
Son's name is SON
分析如下:
1.创建Son的时候先创建Father,而Father中的whoAmI是已经被Son覆盖了,因此这里打印的name这个field是Son中的field,而此时还没有构造Son,因此Son中的name的值是null(这里即使是写了String name = "SON"也是没有用的,因为父类没有构造结束之前,这里是不会被执行的)。
2.Father在执行tellName的时候,传递的参数name是Father自身的name这个field值,这个值是已经被赋值为"FATHER"的,因此会打印出“Son's name is FATHER”
3.Father构造完毕后开始构造Son,这里的打印结果就可以按照常规方式来解释了。
本文转载:http://www.blogjava.net/rongxh7(心梦帆影JavaEE技术博客)
分享到:
相关推荐
原创一道Java笔试面试题考考大家!附带答案!
企业公司软件测试面试笔试题集合 软件测试面试题 (测试基础).doc 01_企业面试试卷(综合).doc 01_企业面试试卷(综合)_参考答案.doc 04_企业面试试卷(测试基础).doc 04_企业面试试卷(测试基础)_参考答案.doc...
Java笔试题目汇总.pdf Java面试宝典_2010.doc 面试全攻略100题.doc 智力题和答案.doc C语言面试题大汇总.doc 计算机专业必备笔试面试锦囊.doc 笔试.rar 面试题集合.zip C语言面试题大汇总1.doc 面试题集合 java面试...
java程序员求职之前看这一套就够了。包括Java程序员阿里面经等,java求职必备知识点,简历模板,JAVA核心知识点整理,蓝桥杯java历年真题及答案整理(共129道题目及答案),Java面试突击-V3.0
Java程序员面试宝典(免费).pdf重点有标记推荐初级学者认真看最后一道面试题我几回笔试都看到了类此的必考题哦
笔试题,使你面试的成功率大大提高,好好学习,文档的收集,认真分析每一道题。
民生银行面试笔试题内容包含了金融、经济、会计、税法、计算机及公务员考试出现的数字推理、法律常识、逻辑推理等题目。题型有单选、不定项、简答、判断、计算、论述及一道十分的逻辑推理,希望对大家有所帮助。
“计算中缀表达式”可以称得上是一个特别经典的关于栈的算法题,几乎在所有数据结构教材中都会涉及,而且很多公司面试或者笔试的时候都会把这道题作为一个考察点。可以说,这是一道必须要掌握的算法题。中缀表达式、...
春节的时候去面试了一家公司,笔试题里面有一道是使用简单的代码实现线程的‘死锁’,当时没有想到这道题考的是Synchronized关键字,于是自己定义了两个资源模拟了一下。后面想想肠子都悔青了,于是自己在电脑上...
在网上搜集的100个非常经典,面试或笔试常见的算法分析、算法应用题。对面试和平时练习用非常有帮助。有事没事看一道可以对大脑活血化瘀>_
最近几天顶着上海40°的凉爽天气找工作,心里是开心的不要不要的,每次面试都是要坐那里出半天汗才能回过神来,感觉到了这个世界对我深深的爱意,言归正传,面试过程中碰到了几次笔试,其中有这么一道题,由于实际...