问题描述
- 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,有什么区别?
解决方案
区别就是一个是隐式转化,一个是明转。
解决方案二:
一个先实例化,再转化
一个直接初始化
时间: 2024-12-26 12:27:36