关羽 18

tjzero_sapce 2008-07-18 09:34:23
public class Father{
public string surname;
public Father(string name){
this.surname=name;
Console.Write(name);
}
}
public class Son:Father{
private int age;
public Son(int age):base(“关羽”){
this.age=age;
Console.Write(age);
}
static void Main()
{
Son son=new Son(18);
}
}
a) 18
b) 关羽
c) 18 关羽
d) 关羽 18


该题d是对的 但是不理解为什么 是D ?
...全文
44 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qjlsharp 2008-07-18
  • 打赏
  • 举报
回复
在子类继承父类时,连父类的构造函数也给继承了,平常构造函数没有参数,方法或字段的话,都是隐式的继承,只不过你没发现,现在你有参数,又有字段,就很明显的显示出来了
qjlsharp 2008-07-18
  • 打赏
  • 举报
回复
这么跟楼主解释吧
如果父类的构造函数有参数的话,子类来继承父类,那么子类的构造函数也必须要有参数,
这句话体现出来了,观察一下
public Son(int age):base(“关羽”){
而代码执行都是最初从构造函数开始的,所以就出现了关羽18
JeffChung 2008-07-18
  • 打赏
  • 举报
回复
先调用了父类(base)的构造函数了,然后再执行son的构造函数
zhulupeng 2008-07-18
  • 打赏
  • 举报
回复
他老爸先出来.在小辈了
老田低代码 2008-07-18
  • 打赏
  • 举报
回复
public Son(int age):base(“关羽”)这句,首先是会调用父类,然后再执行子类的构造函数。所以是“关于 18”了

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧