内容:
    
   
    
     
      
     
    
   
    
     
      一、构造函数是什么?
     
    
   
    
     
    
   
    
     
      
       (1)构造函数 ,是一种特殊的方法。
      
      
       
        构造函数具有与类相同的名称(
       
       
        方法名与类名一样
       
       
        ),它
       
      
      
       主要用来在创建对象时初始化对象, 即为对象成员变量
      
     
     
      赋初始值,总与new运算符
     
     
      一起使用在创建对象的语句中。没有返回值。
     
    
   
    
     
      (2)如果不指定构造函数,则类有一个默认的无参构造函数
     
     
      
       (
      
      
       写一个类,如果没有写任何的构造函数,那么这个类有一个默认的无参数的构造函数
      
      
       )。
      
     
    
    
     无论何时,只要使用 new 运算符实例化对象,并且不为 new 提供任何参数,就会调用
     
      默认构造函数
     
    
    
     。除非类是Static的,否则 C# 编译器将为无构造函数的类提供一个公共的
     
      默认构造函数
     
    
    
     ,以便该类可以实例化。
    
   
    
     (2)构造函数必须是在类里的一级声明,并且命名为类名。
    
   
    
     (3)构造函数可以有参数,new对象的时候传递函数参数即可。
    
   
    
     (4)如果指定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写。
    
   
    
     (5)
    
    
     构造函数可以重载,也就是由多个参数不同的构造函数。
    
   
    
     
      (6)构造函数是不能继承的,但是可以被调用,任何一个子类的构造函数
     
     
      执行前都会调用父类,所以父类需要写一个无参数的构造函数。
     
    
   
    
    
     
      二、我的错误
     
    
   
    
     
    
   
    
    
   
    
     
    
   
    
     导致了下面那个图片有问题出现:
    
   
    
    
   
    
     如果写一个没有参数的构造函数,就不会出现上面那个图片的问题了。
     
      下图的 Public  class  Student后面没有参数,因
     
    
   
    
     此Student  yn  = new  Student();就可以正常运行了。
    
   
    
    
   
    
     
      三、重载和重写的区别:
     
    
   
    
     
    
   
    
     重写是子类的方法覆盖父类的方法,要求方法名和参数都相同;一般用于子类继承父类时重写父类中的方法。
    
   
    
     
    
   
    
     
      重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的
     
    
   
    
     
      重载的例子就是类的构造函数,可以参考
     
     
      API帮助文档看看类的构造方法
     
    
   
    
     
      四、总结
     
    
   
    
     如果我不去敲代码,我也不会发现这个问题。而我敲代码了,然后发现了这个问题,这就是行动下移的好处。看视频一定要跟着敲一敲,只是纯粹的看,一点收获也没有的。
    
   
 
