面试的那些事

天才在左疯子在右 2010-07-31 08:13:08
最近我有点倒霉,遇到了糊里糊涂的面试官!
昨天去新邮通信设备有限公司面试,笔试的第一题的代码大致如下



public class Test
{

/**
* @param args
*/
public static void main(String[] args)
{
new hero(5);

}

}
abstract class Parent1
{
int hp=1;
abstract void draw();
void Actor()
{
System.out.println("a");
draw();
System.out.println("b");
}

}
class hero extends Parent1
{


void draw()
{
int hp=1;
System.out.println("c"+hp);

}
public hero(int hp)
{
System.out.println("d"+hp);
}


}

输入以上程序的结果:

我虽然知道这是个陷阱题,但还是

写了 d5

在直接面试的时候他问为什么,我说虽然抽象类的子类实现了父类的抽象方法,但是程序在调用的时候根本没有调用哪个方法,所以只输出 hero();方法里面的内容;

他说我的java基础太差了,连这个最基本的都不知道,子类的构造函数在执行时先执行父类的方法,所以输出为:

a

c1

b

d

把我都搞懵了,我觉得怎么怪怪的啊,今天晚上特意试了一下,还是我的理解是对了,我怎么会遇见这样的面试官啊,自己都不懂还来面试别人啊。
...全文
79 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
coooliang 2010-08-01
  • 打赏
  • 举报
回复
哪来的 a b ...
题目是原原本本的吗?
cstsl 2010-08-01
  • 打赏
  • 举报
回复
确实是 d5
  • 打赏
  • 举报
回复
题目就是原来一模一样的,我搞程序的,怎么会连这点代码都记不住啊,他就是一个抽象类,里面有一个抽象的方法,还有一个方法,一个子类,实现了抽象方法,另外加了一个构造函数,接着就是一个测试测,就只new Hero(5)这样一个对象,其他的什么都没有啊!
cxjaccp 2010-07-31
  • 打赏
  • 举报
回复
或许那面试官有其他的原因呢?故意怎么气你?
Apeipo 2010-07-31
  • 打赏
  • 举报
回复
汗3L.

LZ即使打错也不会错到那个地步吧......

我也觉得LZ问题,这个过程更本没调用Actor那个方法 - -
songwie 2010-07-31
  • 打赏
  • 举报
回复
估计是你打错了
public abstract class Test
{


public static void main(String[] args){
new hero(5);

}



int hp=1;

public Test(){
System.out.println("a");
draw();
System.out.println("b");
}

abstract void draw();

}
class hero extends Test
{


void draw(){
int hp=1;
System.out.println("c"+hp);

}
public hero(int hp){
System.out.println("d"+hp);
}


}
xizaone 2010-07-31
  • 打赏
  • 举报
回复
你 真 幸运 没 能进 那 个 公司 , 不然 你 就 天天 被 气 成 馒头 喽!!
xiaohuanjie 2010-07-31
  • 打赏
  • 举报
回复

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧