如下代码所示:最后输出的是:8,3,7,4

public class A
{
public virtual void One(int i)
{
Console.Write(i);
}
public virtual void Two(A a)
{
a.One();
One();
}
}
public class B : A
{
public override void One(int i)
{
base.One(i+);
}
} static void Main(string[] args)
{
A a = new A();
B b = new B();
a.Two(b);
b.Two(a); }

1、当 a调用Two方法的时候,传入进去的四b的实例,这时候就会调用b的One方法,从而输出8

2、这是a当中的Two方法中的One,还是会调用a中的One方法,所以会输出3

3、b.Two(a),出入a的实例。因为b是继承自a的,所以b也同样的有Two()方法,而b没有重写Two方法,所以还是调用父类a的Two方法,先执行a.One()输出7.

4、当执行完a.One(),之后接着执行One(),这个时候,因为b重写了a中的One方法,所以会执行b中的One()方法。输出4.

最新文章

  1. php安装配置那些事(本文纯属个人记事与技术无关)
  2. view--4种Android获取View宽高的方式
  3. VS2015+win10+opencv3.0整个安装过程
  4. 利用Meida Service的Java SDK来调用Azure Media Services的Index V2实现视频字幕自动识别
  5. PAT1023. Have Fun with Numbers
  6. 3D--知识点1
  7. php笔记06:http响应中的状态码
  8. [Javascript] Advanced Reduce: Additional Reducer Arguments
  9. poj 3616 Milking Time(dp)
  10. SQL中两种表复制语句
  11. CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动
  12. 20155214&20155216 实验二:固件程序设计
  13. tshark的抓包和解析
  14. Maven 项目不打包 *.hbm.xml 映射文件
  15. “ sgen.exe ”已退出,代码为 1
  16. USACO 4.3 Letter Game (字典树)
  17. POJ.2299 Ultra-QuickSort (线段树 单点更新 区间求和 逆序对 离散化)
  18. Android解析JSON速度对比
  19. HBase中的TTL与MinVersion的关系
  20. SQL Server ->> WITH RESULT SETS子句

热门文章

  1. SysTick—系统定时器
  2. linux vi/vim文本编辑
  3. SAML2.0 协议初识(三)——IDP
  4. web.py使用要点
  5. poj2391 Ombrophobic Bovines 拆点+二分法+最大流
  6. 嵌入式驱动开发之phy---fine Mac与Phy组成原理的简单分析
  7. XStream的基本使用
  8. IOS-应用之间调用
  9. mac同时安装多个jdk
  10. RPC远程过程调用概念及实现