各位大虾:小弟有有个疑问是关于构造函数的事件顺序:如下:
public class Employee
{
public Employee()
{
}
public Employee(int i)
{
}
}public class SalesEmployee : Employee
{
public SalesEmployee()
{ }
public SalesEmployee(int i)
{
int y = i;
}
}
接着初始化一个对象:SalesEmployee myce1 = new SalesEmployee(5);
调试的时候问题就来了,我看书上是说事件的顺序是:
先执行Employee.Employee(int i)构造函数
接着再执行SalesEmployee.SalesEmployee(int i)构造函数。
可是我调试的时候并不是这样,是先执行Employee.Employee()构造函数(根本没有执行Employee.Employee(int i))
再执行SalesEmployee.SalesEmployee(int i)构造函数。求解释。谢谢
public class Employee
{
public Employee()
{
}
public Employee(int i)
{
}
}public class SalesEmployee : Employee
{
public SalesEmployee()
{ }
public SalesEmployee(int i)
{
int y = i;
}
}
接着初始化一个对象:SalesEmployee myce1 = new SalesEmployee(5);
调试的时候问题就来了,我看书上是说事件的顺序是:
先执行Employee.Employee(int i)构造函数
接着再执行SalesEmployee.SalesEmployee(int i)构造函数。
可是我调试的时候并不是这样,是先执行Employee.Employee()构造函数(根本没有执行Employee.Employee(int i))
再执行SalesEmployee.SalesEmployee(int i)构造函数。求解释。谢谢
解决方案 »
- C# Tcp 异步通讯----客户端关闭后服务器的窗体也关闭了
- 向Execl里写入数据
- 现在的硬件厂商提供的什么Pos机呀,计量显示器....等等需要连接上电脑上操作的,有没有提供Net的API和Dll文件供客户开发的呢??
- vc中的char类型 在c#里应该用什么类型声明?
- Dataset绑定高手帮忙!谢谢!在线等!解决立刻给分!!!!!!!!!!!
- 为什么安装MSDN总是提示掉文件!
- (求)关于局域网语音聊天,最好有示例代码
- 成员和字段的概念
- 问一个关于aspx 发布的问题
- 在32位xp上开发的程序 放到win8上出错
- 主键与唯一索引
- 如何把把stringbuilder结果转换成ansi呢?
调用new SalesEmployee(5)的执行顺序就是
Employee()
SalesEmployee(int i)
简单解释就是,构造函数的执行顺序是 父->子,析构函数的执行顺序是 子->父
public class SalesEmployee : Employee
{
public SalesEmployee()
{ }
public SalesEmployee(int i):base(i)
{
int y = i;
}
}这样写,应该是你贴错代码了吧,书上不至于反这错误
wddw1986 你好,我也知道,构造函数的执行顺序是 父->子。但是我构造对象的时候是带参数的,那为啥访问父类的时候不是先调用public Employee(int i)这个带参数的构造函数呢?难道带参数的构造函数没有存在的意义?
我确定我贴的代码没错,我觉得是书上解释错的,按你贴的代码的顺序是先执行Employee.Employee(int i)构造函数
接着再执行SalesEmployee.SalesEmployee(int i)构造函数。谢谢了