C# 不包含采用0个参数的构造函数

来源:互联网 发布:光子计算机 知乎 编辑:程序博客网 时间:2024/05/29 08:09

内容:


一、构造函数是什么?


(1)构造函数 ,是一种特殊的方法。构造函数具有与类相同的名称(方法名与类名一样),它主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。没有返回值。

(2)如果不指定构造函数,则类有一个默认的无参构造函数写一个类,如果没有写任何的构造函数,那么这个类有一个默认的无参数的构造函数)。无论何时,只要使用 new 运算符实例化对象,并且不为 new 提供任何参数,就会调用默认构造函数。除非类是Static的,否则 C# 编译器将为无构造函数的类提供一个公共的默认构造函数,以便该类可以实例化。

(2)构造函数必须是在类里的一级声明,并且命名为类名。

(3)构造函数可以有参数,new对象的时候传递函数参数即可。

(4)如果指定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写。

(5)构造函数可以重载,也就是由多个参数不同的构造函数。

(6)构造函数是不能继承的,但是可以被调用,任何一个子类的构造函数执行前都会调用父类,所以父类需要写一个无参数的构造函数。


二、我的错误




导致了下面那个图片有问题出现:




如果写一个没有参数的构造函数,就不会出现上面那个图片的问题了。下图的 Public  class  Student后面没有参数,因

此Student  yn  = new  Student();就可以正常运行了。




三、重载和重写的区别:


重写是子类的方法覆盖父类的方法,要求方法名和参数都相同;一般用于子类继承父类时重写父类中的方法。


重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的

重载的例子就是类的构造函数,可以参考API帮助文档看看类的构造方法


四、总结


如果我不去敲代码,我也不会发现这个问题。而我敲代码了,然后发现了这个问题,这就是行动下移的好处。看视频一定要跟着敲一敲,只是纯粹的看,一点收获也没有的。



0 0