次のプログラムが印刷される理由
B
B
(そうあるべきです)
public class A
{
public void Print()
{
Console.WriteLine("A");
}
}
public class B : A
{
public new void Print()
{
Console.WriteLine("B");
}
public void Print2()
{
Print();
}
}
class Program
{
static void Main(string[] args)
{
var b = new B();
b.Print();
b.Print2();
}
}
しかし、次のようにクラスBのキーワード「public」を削除すると、次のようになります。
new void Print()
{
Console.WriteLine("B");
}
印刷を開始します
A
B
?