比较有趣的一个笔试题目
这2天忙于找工作,看.NET笔试题目的时,发现有些笔试题目还是比较有趣的,虽然考的都是基础,但是稍有不慎还是会进入圈套。以下面一个题目为例,听说是晕倒了一群人 - -
{
static void Main(string[] args)
{
B b = new B();
A a = new A();
a.Fun2(b);
b.Fun2(a);
Console.Read();
}
}
public class A
{
public virtual void Fun1(int i)
{
Console.WriteLine(i);
}
public void Fun2(A a)
{
a.Fun1(1);
Fun1(5);
}
}
public class B : A
{
public override void Fun1(int i)
{
base.Fun1(i + 1);
}
}
问题是给出输出结果。这个题目见过的人觉得很简单,不过对于我这个菜鸟来说,刚开始确实还遇到点麻烦,没整清楚。
后来仔细想了下,觉得这个题目还是蛮绕,蛮有趣的。以下是我对这个题目的浅显理解。
a.Fun2(b);
传入的是B的实例,进入Fun2(A a)方法
public void Fun2(A a)
{
a.Fun1(1);
Fun1(5);
}
这里不能被参数a所迷惑,以为它就是简单的A的类型,应该根据实际传入的类型去考虑(我觉得这也是解决这个题目的关键吧)。
所以在调用 a.Fun1(1)的时候应该是对应子类B类重写的Fun1(1)方法。故此处输出为2.而接下来Fun1(5)仍然是A的Fun1的方法。故输出是5.
同理,对于b.Fun2(a),传入的参数是A的实例,故调用 a.Fun1(1)应该是父类A的Fun1(1)方法。故此处输出为1,而接下来Fun1(5)却是B的Fun1的方法。故输出是6.
做个mark 以便自己以后忘记 - -
转载于:https://www.cnblogs.com/_Sun_Shine_/archive/2011/04/15/2017300.html
比较有趣的一个笔试题目相关推荐
- 《课程格子》的一个笔试题目
题目如下,感觉很适合喜欢琢磨的程序员,也是考验你编码风格的时候. Let's make a tower defense game(塔防游戏): 1. You have 1 tower, with H ...
- 20200802拼多多笔试题目
20200802拼多多笔试题目 第一题 python代码示例 第二题 python代码 第三题 提交的版本 完善版本 双指针代码 第四题 拼爹爹的题目感觉出的还是比较有水准的,不管怎么样测试用例是 ...
- 单片机工程师笔试题目归纳汇总
基础知识 波特率 1)定义: 波特率表示每秒钟传送的码元符号的个数,是衡量数据传送速率的指标,它用单位时间内载波调制状态改变的次数来表示. 在信息传输通道中,携带数据信息的信号单元叫码元,每秒钟通 ...
- 百度 腾讯 阿里 小米 笔试题目宝典
九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题 引言 自发表上一篇文章至今(事实上,上篇文章更新了近3个月之久),blog已经停了3个多月,而在那之前,自开博以来的21个月每月都不曾 ...
- 百度 阿里 腾讯 BAT笔试题目
8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的 i .每次从通里面拿出来两个球: ii.如果取出 ...
- java ee 笔试题目,JSP经典笔试@题目(含答案)
JSP经典笔试@题目(含答案) 更新时间:2017/2/5 19:25:00 浏览量:557 手机版 JSP综合测试笔试 1)在Java EE中,Servlet是在服务器端运行,以处理客户端请求而 ...
- tcl c语言笔试题,TCL技术类笔试题目.doc
TCL技术类笔试题目 模拟电路试题 一.二极管 1.如图所示电路中,已知电源电压 E=4V 时,I=1mA.那么当电源电压 E=8V 时 , 电流I的大小将是______ 2.稳压管通常工作于____ ...
- 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目
题目地址:http://ac.jobdu.com/problem.php?pid=1525 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串 ...
- 笔试题目“翻转字符串”的实现
笔试题目 //写一个函数,将字符串翻转,翻转方式如下:"I am a student"反转成"student a am I",不借助任何库函数. 据说这题在笔试 ...
最新文章
- 初探云原生应用管理(一): Helm 与 App Hub
- java招投标网站源码_基于jsp的招标系统-JavaEE实现招标系统 - java项目源码
- 用辩证、动态的眼光看世界
- android studio 自动生成对象,在Android Studio中快速导入可绘制对象的方法?
- linux如何将文件夹添加到书签,桌面应用|[新手技巧] 如何在Ubuntu中添加和删除书签...
- lazada铺货模式的选品_Lazada的商业模式有哪些?要怎么做?
- HDU1874 畅通工程续【Dijkstra算法】
- zabbix详解(十三)——zabbix微信报警实战
- 财富提升成都IT产业吸引力
- html字体名称有哪些,css有哪些字体系列?
- 第二章 Spring MVC入门 —— 跟开涛学SpringMVC
- php自动获取节气对应的年月日_php如何通过日期获取农历、节日、节气?
- Dijkstra算法指定任意两点距离(邻接矩阵法)
- 电路分析三------KCL,KVL,VCR方程
- video.js播放rtmp直播源和hls直播源
- 3.MyBatis源码解析-CRUD执行流程--阿呆中二
- 使用 auto-drawing 画一个鱼骨图
- 网络关键设备和网络安全专用产品目录
- 三维空间直线与平面交点
- Angular Elements,四步将Angular 组件转换为 web 组件
热门文章
- ASP.Net中自定义Http处理及应用之HttpModule篇
- Python3中lambda表达式介绍
- 对象检测工具包mmdetection简介、安装及测试代码
- windows7 64位机上配置支持GPU版(CUDA7.5)的OpenCV2.4.13操作步骤
- #Ruby# Introspect (2)
- 中计算散度的函数_理解 Kullback–Leibler 散度的近似
- 小甲鱼python003答案_小甲鱼:Python学习笔记003_函数
- java计算器的重点解决问题_java计算器问题
- IDEA的CPU占用率高问题解决方法
- linux环境安全测评实验报告,linux第一次实验报告