C# 构造函数

概念:

构造函数是一种特殊的方法,主要用来在创建对象时初始化对象

构造函数的重载:特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同,来区分它们。

重载:同一个类里面,方法名称相同,方法参数列表不同(参数的类型,个数),与参数的返回值类型无关。

 

注意:

 

构造函数

一般方法

命名

命名必须和类名完全一致。

不能和类名相同。

功能

初始化对象赋初值。

没有返回值;不能用void修饰。

根据方法而定。

必须有返回值类型。

调用

不能直接调用,必须通过new运算符创建对象时才会自动调用。

程序执行到它的时候调用。

默认存在

存在默认构造函数(不带参数)。

不存在。

 

定义:

class A

{

public A(){}//不带参数的构造函数,又名默认构造函数

public A(int a ){}//带参数的构造函数。

//当两者同时存在时,看类是如何实例化的

private A(int a ){}//私有构造函数

}

 

使用:

A a=new A();或者A a=new A(7);

 注意:如果类里面没有定义构造函数,编译器会自动生产一个空构造函数,类的各个成员都赋上默认值。

 

构造函数分:实例构造函数、私有构造函数、静态构造函数。

 (1)实例构造函数

复制代码
using System;
class Point
{
 public double x, y;
 public Point() 
 {
  this.x = 0;
  this.y = 0;
 }

 public Point(double x, double y)
 {
  this.x = x;
  this.y = y;
 }
}

class Test
{
 static void Main() 
 {
  Point a = new Point();
  Point b = new Point(3, 4); // 用构造函数初始化对象
 }
}
复制代码

(2)私有构造函数

通常用在只包含静态成员的类中,如果类只有私有构造函数而没有公共构造函数,则其他类(除嵌套类外)无法创建该类的实例。

注意,默认情况下属性为private

(3)静态构造函数

1.静态构造函数既没有访问修饰符,也没有参数,静态构造函数不可以被继承。

2.一个类只能有一个静态构造函数,最多只能运行一次。

3.在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类,也就是无法直接调用静态构造函数,也无法控制什么时候执行静态构造函数。

4.如果没有静态构造函数,而类中的静态成员有初始值,那么编译器会自动生成默认的静态构造函数。

复制代码
using System;
class test{
        public class person
        {
            static string sex;
            static person()
            {
                sex = "woman";
                Console.WriteLine("静态析构函数:"+sex);
            }
        }

        public class student
        {
            static void Mian(String[] args)
            {
                person p = new person();
             Console.Read();
        }
        }
}
复制代码

 

posted @   Rachel_Diary  阅读(1520)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示