C#中无参构造函数的使用问题

C#中我知道每个类里面都有一个默认的无参的构造函数,及时不添加也能new出对象来。那为什么有的时候要手动添加一个无参的构造函数呢?作用是什么?还有就是到底什么时候需要手动... C#中我知道每个类里面都有一个默认的无参的构造函数,及时不添加也能new出对象来。那为什么有的时候要手动添加一个无参的构造函数呢?作用是什么?还有就是到底什么时候需要手动添加无参构造函数呢? 展开
 我来答
百度网友dc91b32
2009-05-31 · TA获得超过5650个赞
知道大有可为答主
回答量:5653
采纳率:0%
帮助的人:0
展开全部
原因有二:
第一:
“每个类里面都有一个默认的无参的构造函数”
这个是有条件的:如果你不手动添加有参的构造函数,则编译时会自动添加一个无参构造函数,但是如果你手动添加了一个有参的构造函数,这个“默认的无参构造函数”就不会自动添加,这时候如果你还想调用无参的构造函数,只能手动写一个无参的构造函数,

第二:
默认的无参构造函数里面是空的,什么都不执行,如果你想在无参构造函数中添加一些初始化代码的工作,那就必须手动写这个无参构造函数,
xuf19
推荐于2016-09-21 · 超过19用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:41万
展开全部
默认如果不提供构造函数的话,系统会自动生成一个默认的构造函数,是一个没有参数的,但是如果提供了构造函数,系统就不会在提供默认的构造函数了。

按照NET标准,总是应该提供一个没有参数的构造函数,除非你有特别的理由不这么做,需要强迫在对象构造时候来初始化你的对象中的某些数据,而被初始化的数据你不希望在对象初始化后被改变。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kid83
2009-05-31 · TA获得超过2081个赞
知道大有可为答主
回答量:1818
采纳率:0%
帮助的人:1979万
展开全部
无参数的构造函数,可以使用某些特定的数据进行数据成员初始化,而不是使用系统默认的数据进行初始化.比如使用系统默认的构造函数
public class Account
{
private int _Id;
private string _Name;
// 如果没有这个构造函数,而是用系统默认构造函数,则_Id = 0;_Name = "";
public Account()
{
this._Id = 10;
this._Name = "User1";
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
游戏爱好者专用
2021-06-29
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
*构造方法的作用:为属性赋值
*如果没有显示定义构造方法,则会有一个默认的无参的构造方法
*如果显示定义了构造方法,则没有默认构造方法
*只能用new 方法名()的形式调用构造方法
*构造方法通常声明为public
*构造方法没有返回值类型
*构造方法名必须与类名相同
--来源于百度网友
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JimiXu
2009-05-31 · TA获得超过410个赞
知道小有建树答主
回答量:1010
采纳率:0%
帮助的人:0
展开全部
作用就是做一些初始化准备。有些对象无论你有参数、没参数都需要初始化。比如分配内存(C++里面用的多),给指定变量赋初值等等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式