c# 有调用一个类的静态方法,是不是执行这个类的构造函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 有调用一个类的静态方法,是不是执行这个类的构造函数相关的知识,希望对你有一定的参考价值。
c# 有调用一个类的静态方法,是否执行这个类的构造函数
静态构造函数?有静态构造函数吗?
静态方法属于类,非静态方法属于类的对象。
我们调用静态方法时是直接通过"类的名称."的方式来调用的。
而非静态方法则需通过类的实例来调用,这时才需要调用构造函数来进行实例化得到一个该类的对象,然后用"对象名."的方式来调用。 参考技术A 执行这个类中的静态构造函数,如果没有则默认执行一个空的无参构造函数... 参考技术B 静态类不能包含构造函数,但仍可声明静态构造函数以分配初始值或设置某个静态状态,这是静态类构造函数的唯一作用了,不然你想,静态类都不能实例化,还怎麽“构造”呢?
当然有静态构造函数了,单件模式就要用的嘛
给你个msdn的链接看一下就知道了
http://msdn2.microsoft.com/zh-cn/library/k9x6w0hc(VS.80).aspx本回答被提问者采纳
java程序执行顺序
java程序执行顺序如下:
1.类中所有属性的默认值(一举而成)
2. 父类静态属性初始化,静态块,静态方法的声明(按出现顺序执行)
3. 子类静态属性初始化,静态块,静态方法的声明 (按出现顺序执行)
以上是(类加载过程,不涉及构造方法)
4. 调用父类的构造方法,
首先父类的非静态成员初始化,构造块,普通方法的声明(按出现顺序执行)
然后父类构造方法
5. 调用子类的构造方法,
首先子类的非静态成员初始化,构造块,普通方法的声明(按出现顺序执行)
然后子类构造方法
其中:
1-3:类加载过程,不涉及构造方法
1-5: 实例化过程,涉及构造方法
参考文章:
https://www.cnblogs.com/greatfish/p/5771548.html
以上是关于c# 有调用一个类的静态方法,是不是执行这个类的构造函数的主要内容,如果未能解决你的问题,请参考以下文章
请教一下C#中父类静态构造函数在子类中为啥不会和子类的静态构造函数一起执行