c#中的构造方法

      1、什么是构造方法?

  首先,它是一个方法,它是类中 众多方法中的一个。其次,它具有类中其他方法所不具备的一些特性。

  简单来说,它是一个有着特殊使命的方法,他的绰号叫构造。

  2、构造方法相对其他方法有哪些不同?

  方法名:类中普通的方法可以根据代码书写者的个人喜好任意取名。但是,构造方法不可以。构造方法的名字必须与类名相同。换句话说,当类中的一个方法名与类名相同时,C#即认为此方法为类的构造方法。

  执行顺序:类中的普通方法是在类实例化之后被调用执行的,而构造方法则是在类实例化之前执行的。

  可以简单理解为:

  当准备创建一个类的实例时,首先会执行构造方法,然后在进行类的实例化。如以下代码

ClassName objName  =   new  ClassName();

 

  可以理解为 关键字 new 后面 ClassName() 为类的构造方法。

  3、如果类中没有书写构造方法,实例化类时会出错么?

  不会。首先,C#中 每个类都有自己的构造方法;即便你在书写类时没有书写构造方法,C#也会创造一个默认的没有参数的构造方法出来,这个默认的构造方法是看不到的,但它是真实存在的。

  4、一个类中只能由一个构造方法么?

  不是的,一个类中可以存在多个构造方法,以不同的参数进行区分,这就构成了构造方法的重载。例如: 

ContractedBlock.gif ExpandedBlockStart.gif Code
 1using System;
 2using System.Collections.Generic;
 3using System.Text;
 4
 5namespace ConsoleApplication1
 6ExpandedBlockStart.gifContractedBlock.gif{
 7    class Program
 8ExpandedSubBlockStart.gifContractedSubBlock.gif    {
 9        private Program()
10ExpandedSubBlockStart.gifContractedSubBlock.gif        {
11            Console.WriteLine("我是构造函数Program(),我没有参数");
12        }

13        public Program(string a)
14ExpandedSubBlockStart.gifContractedSubBlock.gif        {
15            Console.WriteLine("我是构造函数Program(string a),我的参数是字符");
16        }

17        public Program(int b)
18ExpandedSubBlockStart.gifContractedSubBlock.gif        {
19            Console.WriteLine("我是构造函数Program(int b),我的参数是数值");
20        }

21        public Program(string a,int b)
22ExpandedSubBlockStart.gifContractedSubBlock.gif        {
23            Console.WriteLine("我是构造函数Program(string a,int b),我的参数有两个");
24        }

25        static void Main(string[] args)
26ExpandedSubBlockStart.gifContractedSubBlock.gif        {
27            Program objProgram0 = new Program();
28            Program objProgram1 = new Program("123");
29            Program objProgram2 = new Program(123);
30            Program objProgram3 = new Program("123",123);
31            Console.Read();
32        }

33    }

34}

35
36

 

转载于:https://www.cnblogs.com/holynn/archive/2009/04/24/1443166.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值