namespace ConsoleApplication1
{
class one
{
public void x()
{
Console.WriteLine("one_x");
}
public virtual void y()
{
Console.WriteLine("one_y");
}
}
class two:one
{
new public void x()
{
Console.WriteLine("two_x");
}
public override void y()
{
Console.WriteLine("two_y");
} }
class TestClass1
{
public static void Main()
{
two m2 = new two();
one m1 = m2;
m1.x();
m1.y();
m2.x();
m2.y();
Console.ReadKey();
}
}
//执行结果如下:
//one_x
//two_y
//two_x
//two_y
//第一行和第二行的结果,不理解,求达人指点
}
解决方案 »
- c# 一个form有多个控件,检测用户是否输入为空,用ErrorProvider提示错误,怎么提取成一个方法来做?
- 自己想开发个高校的教学管理系统,想请前辈给些建议!小弟先感谢了!
- 文件复制问题
- winform 的ItemCheck事件问题!
- sql2005+vs2008(C#)数据库应用软件开发
- 如何实现将数据库中的数1转换成00001现实出来,依此类推,10变成00010。
- C#编程实现视频传输
- treeview中如果自动显示scroll?
- RGB(TrueColor.Red, TrueColor.Green, TrueColor.Blue)在C#中RGB 找不到,如何解决???
- C#截取字符串的问题,谢谢,在线等
- 如何设置图片或者其他控件的背景颜色为渐变色
- winfron 中dataGridView 表格中最后一格怎么添加LinkLabel控件
在one 类中y方法是虚拟方法,在two中对该方法进行了重写override
因此m1.x调用的是父类中的方法 Console.WriteLine("one_x");
而m1.y因为已重写,所以是调用的Console.WriteLine("two_y");
OK不
赋值没有起作用?
m1没有指向m2?
谢谢