派生类实例化时1个参数,为何调用基类构造时,匹配的是无参构造呢 Console.WriteLine("调用1个参数的情况:");
myderivedclass myobj = new myderivedclass(5);
这样调用时,有1个参数,我理解应该调用基类的构造时,也要匹配有1个参数的构造函数,但是实际上,却调用的是无参的构造函数,我真的不明白了。
namespace p176
{
public class mybaseclass
{
public mybaseclass()
{
Console.WriteLine("mybaseclass:");
}
public mybaseclass(int i)
{
Console.WriteLine("mybaseclass(int i):");
}
} public class myderivedclass:mybaseclass
{
public myderivedclass()
{
Console.WriteLine("myderivedclass:");
} public myderivedclass(int i )
{
Console.WriteLine("myderivedclass(int i):");
}
public myderivedclass(int i,int j)
{
Console.WriteLine("myderivedclass(int i,int j):");
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("调用1个参数的情况:");
myderivedclass myobj = new myderivedclass(5);
Console.WriteLine("调用2个参数的情况:");
myderivedclass myobj2 = new myderivedclass(5, 6);
Console.ReadKey();
}
}
}
myderivedclass myobj = new myderivedclass(5);
这样调用时,有1个参数,我理解应该调用基类的构造时,也要匹配有1个参数的构造函数,但是实际上,却调用的是无参的构造函数,我真的不明白了。
namespace p176
{
public class mybaseclass
{
public mybaseclass()
{
Console.WriteLine("mybaseclass:");
}
public mybaseclass(int i)
{
Console.WriteLine("mybaseclass(int i):");
}
} public class myderivedclass:mybaseclass
{
public myderivedclass()
{
Console.WriteLine("myderivedclass:");
} public myderivedclass(int i )
{
Console.WriteLine("myderivedclass(int i):");
}
public myderivedclass(int i,int j)
{
Console.WriteLine("myderivedclass(int i,int j):");
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("调用1个参数的情况:");
myderivedclass myobj = new myderivedclass(5);
Console.WriteLine("调用2个参数的情况:");
myderivedclass myobj2 = new myderivedclass(5, 6);
Console.ReadKey();
}
}
}
{
Console.WriteLine("myderivedclass(int i):");
}
public myderivedclass(int i,int j):base(i,j)
{
Console.WriteLine("myderivedclass(int i,int j):");
}
派生类中可以指定调用基类的某个构造函数,使用base关键字