a到底成了什么?
为什么a.aa()调用的是A类里面的aa方法?A a = new B();class A
{
public A() { }
public void aa()
{
Console.WriteLine("i'm aa!");
}
public virtual void ap()
{
Console.WriteLine("i'm A!");
aa();
}
}
class B : A
{
public B() { }
public override void ap()
{
Console.WriteLine("I'M B");
aa();
}
public new void aa()
{
Console.WriteLine("i'm bb!");
}
}
为什么a.aa()调用的是A类里面的aa方法?A a = new B();class A
{
public A() { }
public void aa()
{
Console.WriteLine("i'm aa!");
}
public virtual void ap()
{
Console.WriteLine("i'm A!");
aa();
}
}
class B : A
{
public B() { }
public override void ap()
{
Console.WriteLine("I'M B");
aa();
}
public new void aa()
{
Console.WriteLine("i'm bb!");
}
}
解决方案 »
- 如何换行显示添加的textbox?
- FROM关闭了,可是程序没有退出
- 全是错误信息的网站 怎么会有人访问
- 急!!!oledb 操作Excel,只能读,不能写??? 为什么????
- 求教高手,一个关于datagridview的问题,很急,在线等,谢谢!!!!!!!!!!11
- 怎么样能在绑定到DataGrid时改变其中一项数据的字体颜色?
- C# 问题1
- 卸载的时候通过反射将安装文件夹删除,,是不是有这个贴子,告诉小弟一下。没贴子给点代码吧。
- 提高 .NET Framework 应用程序的字符串处理性能?
- 这个题怎么做?
- 我win7 下载的 vs2008不能用,大虾来帮忙!
- C# ArrayList与结构体
//使用new定义方法,则是隐藏了基类方法A a = new B();
//申明一个A的引用,调用的方法如果在子类中用new隐藏的话,会调用基类本身的
A a = new B();
B继承自A,所以A类型的实例可以通过其子类去创建
A a = new B(); 你首先都已经把a定义成A类的对象了
你可以拆开看设
A a;
a = new B();
A类的对象 显然会调用A的函数!
new B();
只是初始化 a而已