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();
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗