C#中成员初始化顺序
C#中成员初始化顺序
http://blog.csdn.net/huangcailian/article/details/25958967
一、成员初始化整体顺序
二、对类型静态成员构造的大致过程
三、对类型实例成员构造的大致过程
四、同时有静态成员和实例成员的大致构造过程
五、说明
using System; using System.Diagnostics; using System.Text;class Test {class CTEST{}class SINGLE_TON{public static float sfx = 1; //1public static CTEST ot = new CTEST();//2private float fx = 13;static private double dx = 100.03;//3private string s = "hello";//public static readonly SINGLE_TON Instance = new SINGLE_TON();//加上这句就比较特殊了,这里虽有构造操作,但必须等到所有成员初始完成后才会进行public static int x;//22public string str;protected int y = 123;public SINGLE_TON(){Console.WriteLine("private single_ton");}//静态构造函数最会多只会被调用一次,在首次访问类的静态成员变量或生成类的实例时被调用。static SINGLE_TON(){Console.WriteLine("static single_ton");}public void dosth(){Console.WriteLine("do some thing");}}static void Main(){//首次访问类的静态变量,编译器首先会对所有有初始值的静态变量进行赋值操作,如1和2,3处。//然后调用静态构造函数。//不会对非静态变量进行赋值。不过它们都有默认值,数值类型为0,引用类型为nullint x = SINGLE_TON.x;// SINGLE_TON.Instance.dosth();// SINGLE_TON.Instance.dosth();// SINGLE_TON.Instance.dosth();//生成类实例时,编译器首先会对所有有初始值的静态变量进行赋值操作,如1和2,3处。//然后调用静态构造函数。//然后才对有初始值的非静态变量进行赋值。//然后调用普通构造函数。SINGLE_TON sg = new SINGLE_TON();}//输出结果: // private single_ton // static single_ton // do some thing // do some thing // do some thing }
posted on 2016-11-03 21:34 时空观察者9号 阅读(...) 评论(...) 编辑 收藏
C#中成员初始化顺序相关推荐
- c++构造函数以及类中变量初始化顺序
c++构造函数以及类中变量初始化顺序 Submitted by ant on Fri, 03/29/2013 - 20:05 构造函数 c++ 的类提供了一种抽象机制,使用起来要比 c 方便很多.为了 ...
- java类成员初始化_简单了解Java类成员初始化顺序
这篇文章主要介绍了简单了解Java类成员初始化顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 类中包含7中成员: 1.静态变量 static 2 ...
- lt;转载自刘佳ID:freedom0203和waretgt; C++中成员初始化列表的使用
刘佳: C++在类的构造函数中,可以两种方式初始化成员数据(data member). 1,在构造函数的实现中,初始类的成员数据.诸如: class point { private: int x,y ...
- C++中类成员变量在初始化列表中的初始化顺序
引子:我们知道,C++中类成员变量的初始化顺序与其在类中的声明顺序是有关的. 先看代码: 1 class TestClass1 2 { 3 public: 4 TestClass1() { 5 cou ...
- 【转载】c#类的成员初始化顺序
作者:彭白洋 创建于:2009-01-15 出处:http://www.cnblogs.com/siceblue/archive/2009/01/15/1376430.html 收录于:2013-0 ...
- java成员初始化顺序_Java成员初始化顺序
1. 初始化顺序 在类的内部,变量定义的先后顺序决定了初始化的顺序.即使变量散布于方法定义之间,他们仍会在任何方法(包括构造器)被调用之前初始化. 2. 静态成员初始化顺序 1⃣️初始化类的静态成员或 ...
- Java类的各种成员初始化顺序
初始化规则 1.父类[静态成员]和[静态代码块],按在代码中出现的顺序依次执行. 2.子类[静态成员]和[静态代码块],按在代码中出现的顺序依次执行. 3.父类的[普通成员变量被普通成员方法赋值]和[ ...
- 【c++】构造函数初始化列表中成员初始化的次序性
上代码 #include <iostream> using namespace std;class A {public:A(int v): j(v + 2), i(j) {}void pr ...
- Java类中的初始化顺序
根据<Thinking in Java>相关章节及自己的理解举例来说明类初始化顺序. public class InitialOrder {private static String st ...
最新文章
- SIPp工具Linux下安装
- Effective Java实作toString() - 就是爱Java
- (转)正则表达式语法备忘录
- leetcode算法题--Flatten Nested List Iterator
- 双圆环环布带系法图解_【图】板鞋系鞋带 板鞋鞋带的系法有几种
- UITT-欧盟MiFID II新监管法规实践先行者
- python strip()方法 去除字符串头尾指定字符 默认为空格、换行符、制表符、回车符
- Netty实例:实现简单的通讯功能
- 学院菌喊你来领取年终学习奖状啦~~!!!
- 前端学习(3273):js中this的使用二
- 基于prometheus + grafana + mysql + Telegram 监控告警
- Java面试之Synchronized无法禁止指令重排却能保证有序性
- Office 2016 到底有没有更新?
- (转)增强学习(二)----- 马尔可夫决策过程MDP
- 向linux内核提交了第一个patch,在3.8中发布,庆祝一下!
- 软件工程之软件维护与再工程
- 计算机模拟仿真技术的功能,浅谈虚拟仿真技术
- Android通过百度api地址经纬度获取文字位置信息
- 非洲做项目的务实与务虚
- c# rar解压大小_C#解压、压缩RAR文件
热门文章
- 笔记-高项案例题-2019年上-人力资源管理
- CentOS7中Docker的安装与配置
- 程序员开发利器:源代码管理的十条建议
- 在Flutter中解析复杂的JSON(一篇顶十篇)
- python asyncio_Python 的异步 IO:Asyncio 简介
- C语言放大字符怎么编程,c语言中怎么将个别字体放大,如9,将其放大,怎么编程呢?...
- seata 如何开启tcc事物_如何能在实战中完成分布式事务?知道这些点很重要
- 他们为什么融资上市?因为用好了……
- Centos7 下部署PPTP
- 生产环境子域降级记录