C#静态构造函数,在继承中调用情况
来源:互联网 发布:淘宝助理怎么添加模板 编辑:程序博客网 时间:2024/06/06 01:37
public class A{ public static string strText; public string Text; static A(){ strText = "AAA"; Console.WriteLine("A的静态构造函数"); } } public class B : A{ static B() { strText = "BBB"; Console.WriteLine("B的静态构造函数"); } } class Program{ static void Main(string[] args) { B b = new B(); //① A a = new A(); //② Console.WriteLine(B.strText); Console.WriteLine(A.strText); Console.Read(); } }
输出结果是:
A的静态构造函数
B的静态构造函数
BBB
BBB
如果注释①和②输出结果如下:
A的静态构造函数
AAA
AAA
- 静态构造函数没有修饰符修饰(public,private),因为静态构造函数不是我们程序员调用的,是由.net 框架在合适的时机调用的。
- 静态构造函数没有参数,因为框架不可能知道我们需要在函数中添加什么参数,所以规定不能使用参数。
- 静态构造函数前面必须是static 关键字。如果不加这个关键字,那就是普通的构造函数了。
- 静态构造函数中不能实例化实例变量。(变量可以分为类级别和实例级别的变量,其中类级别的有static关键字修饰)。
- 静态函数的调用时机,是在类被实例化或者静态成员被调用的时候进行调用,并且是由.net框架来调用静态构造函数来初始化静态成员变量。
- 一个类中只能有一个静态构造函数。
- 无参数的静态构造函数和无参数的构造函数是可以并存的。因为他们一个属于类级别,一个属于实例级别,并不冲突。
- 静态构造函数只会被执行一次。并且是在特点5中的调用时机中进行调用。
- 就像如果没有在类中写构造函数,那么框架会为我们生成一个构造函数,那么如果我们在类中定义了静态变量,但是又没有定义静态构造函数,那么框架也会帮助我们来生成一个静态构造函数来让框架自身来调用。
阅读全文
0 0
- C#静态构造函数,在继承中调用情况
- C#继承|继承中构造函数的调用
- 构造与析构函数在继承中如何调用
- C#中静态构造函数
- C#中静态构造函数
- C#继承与构造函数的调用
- C#静态构造函数的调用问题
- C#静态构造函数调用机制
- 在构造函数中调用构造函数
- 在构造函数中调用构造函数
- C++继承中构造函数调用顺序
- Java继承中调用子类构造函数
- java继承中构造函数的调用
- C#中继承带参构造函数
- C#中静态构造函数的学习
- C#中静态构造函数的学习
- C#中静态构造函数的学习
- C#中静态构造函数的学习
- Android开发的经典入门教材和学习…
- 震动相关工具类
- linux 磁盘分区 挂载
- mybatis入门基础(七)----延迟加载
- Spring——@Autowired注解和启动自动扫描的三种方式
- C#静态构造函数,在继承中调用情况
- 【数据库】FaceDataset常用的人脸数据库
- 3d方块
- html5表单元素
- volatile不能保证原子性
- linux Failed to restart iptables.service
- 分享一个版本升级脚本
- 光盘的挂载,卸载 U盘的挂载,…
- win10 鼠标移动到任务栏是鼠标显示后台运行蓝色圈圈