2 netfuzhimin netfuzhimin 于 2014.01.07 21:27 提问

C#多态中new 和(className)的区别

class A
{
public virtual void test1()
{
cnosole.writeline("test1 in A");
}
}
class B:A
{
public override void test1()
{
cnosole.writeline("test1 in B");
}
}

main()
{
B b=new B();
A a1=new B();
A a2=(A)b;
}

请问各位大神A a1=new B()、和A a2=(A)b,有什么区别?

2个回答

wangwu2235
wangwu2235   2014.02.28 14:12

区别就是一个是隐式转化,一个是明转。

oyljerry
oyljerry   Ds   Rxr 2015.01.11 12:28

一个先实例化,再转化
一个直接初始化

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!