构造函数CONSTRUCTOR

来源:互联网 发布:娱乐栏目名称有趣 知乎 编辑:程序博客网 时间:2024/05/17 06:21
作用:通常用于初始化
特点:与类同名,且不返回任何值

注:如果没有定义构造函数,系统会创建一个默认的构造函数

静态构造函数:静态构造函数用于初始化类的静态变量,在程序执行过程中仅被调用一次

语法:
    [访问修饰符] <类名>([Parameter List])
{
 Statements;
}

eg1:using System;

public class DaysInYear
{
     private int days;
   
 public DaysInYear()           //构造函数是没有返回值的
     {
         days = 365;
     }

     static void Main(String[] args)
     {
         DaysInYear newDaysInYear=new DaysInYear();
         Console.WriteLine(newDaysInYear.days);
     }
}

eg2::using System;

public class DaysInYear
{
  private int days;
public DaysInYear()
  {
     days = 365;
   }
  public DaysInYear(int day)               //带参构造函数
  {
       days = day;
   }

}

eg3:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace _8

{

    class Program

    {

        static void Main(string[] args)

        {

            System.DateTime currenTime = System.DateTime.Now;

            Date mydate = new Date(2015,5,20);

            mydate.Display();

            Date mdate = new Date(currenTime);

            mdate.Display(); 

            Console.ReadLine();

        }

    }

    public class Date

    {

        public int year;

        public int month;

        public int day;

        public Date(int year,int month,int day)

        {

            this.year = year;

            this.month = month;

            this.day = day;

        }

        public Date(System .DateTime dt)

        {

            year = dt.Year;

            month  = dt.Month;

            day  = dt.Day;

        }

        public void Display()

        {

            Console.WriteLine("{0}年ê{1}月?{2}日?",year,month ,day );

        }

    }

}

静态构造函数

(1)用于对静态字段、只读字段等的初始化;
 (2)添加static关键字,
不能添加访问修饰符,因为静态构造函数都是私有的;
 (3)类的静态构造函数在给定应用程序域中
至多执行一次,只有创建类的实例或者引用类的任何静态成员才激发,不能带有参数;
 (4)静态构造函数是
不可继承的,而且不能被直接调用;

一个类可以同时拥有实例构造函数和静态构造函数,这是惟一可以具有相同参数列表的同名方法共存的情况。

eg:

public class Class1
{
     static int numbers1;
     int number2;
  static Class1()
     {
     number1 = 10; 
     number1 = 20; 
     }
}

0 0
原创粉丝点击