【C#学习笔记】构造函数重载,构造函数相互调用,静态构造函数

时间:2021-11-28 19:28:05
    class  student
    {
        
private   int  age;
        
private   string  name;
        
public   static   int  schoolage;   // 静态成员

        
public   string  Name
        {
            
get  {  return  name; }
            
set  { name  =  value; }
        }

        
public   int  Age
        {
            
get  {  return  age; }
            
set  { age  =  value; }
        }

        
public  student( int  Age,  string  Name) 
        {
            
this .age  =  Age;
            
this .name  =  Name;
        }

        
// 调用了带两个参数的构造函数
         public  student( int  Age): this (Age, " 未起名 " )
        {
        }

        
// 调用了带1个参数的构造函数
         public  student(): this ( 18
        {
        }

        
// 静态构造函数必须无参数和无访问修饰符
        
// 静态构造函数不能使用this关键字,this是指向对象,而不是类
        
// 静态构造函数只能构造静态成员
        
// 静态构造函数最多只会被执行一次
         static  student()
        {
            schoolage 
=   18 ;
        }

        
public   void  Show() 
        {
            Console.WriteLine(
" 我的名字叫{0},我今年{1}岁 " , this .name, this .age);
        }
    }

 类里面所有声明为静态的成员,方法,都只是对类的定义和操作,类的静态构造函数自然也就只会在操作此类相关的时候被实例化一次

 反之,所有非静态的成员,方法,都是对类的实例化对象进行操作,所以每当实例化一个对象,就会去执行一次相应的构造函数