- 浏览: 1741269 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (520)
- Oracle (10)
- Oracle错误集 (8)
- Oracle安装升级 (15)
- Oracle日常管理 (51)
- Oracle字符集 (7)
- Oracle备份恢复 (24)
- Oracle优化 (4)
- Oracle编程 (52)
- Oracle导入导出 (19)
- Oracle体系结构 (15)
- Oracle网络 (2)
- Oracle安全 (2)
- Oracle权限 (3)
- Oracle数据字典和性能视图 (2)
- Oracle常用地址 (5)
- SQLPLUS专栏 (7)
- SqlServer (13)
- SqlServer2005编程 (27)
- SqlServer2005管理 (15)
- MySQL (20)
- Dorado应用 (1)
- C# (24)
- Arcgis Server开发 (20)
- ArcSDE技术 (19)
- UML学习 (2)
- 设计模式 (2)
- JAVA EE (4)
- JavaScript (3)
- OFBIZ (27)
- JAVA WEB开发 (22)
- Linux&Unix (34)
- SHELL编程 (14)
- C语言 (11)
- 网络协议 (14)
- FREEMARKER (2)
- GROOVY (2)
- JAVA语言 (3)
- 防火墙 (0)
- PHP (2)
- Apache (2)
- Loader Runner (1)
- Nginx (3)
- 数据库理论 (2)
- maven (1)
最新评论
-
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
pg_guo:
感谢
oracle中查看用户权限 -
xu234234:
5、MapResourceManager控件中添加了两个服务, ...
北京ArcGis Server应用基础培训笔记1
以前自己对这方面的内容一直比较模糊,只是知道一个大概的顺序,具体确切的执行顺序不能确定,于是抽空做了一个详细的测试,对其进行一番研究.
具体的程序代码比较简单,如下所示.
三个类分开来写的,一个父类,一个子类,一个测试类:
父类:
using System; namespace TestInherit { public class Father { public int father_a=111; public int father_aa=1111; public readonly int father_c=7777; public static int father_e=222; public static int father_ee; static Father() { father_e=5555; father_ee=3333; } public Father() { father_ee=4444; } public Father(int a) { father_a=a; } } }
子类:
using System; namespace TestInherit { public class Son:Father { public int son_int=9999; public static int son_b=111; public static int son_c; public Son() { son_c=222; } static Son() { son_c=333; } public Son(int a) { son_int=a; } } }
测试类:
using System; namespace TestInherit { class Class1 { [STAThread] static void Main(string[] args) { Son son1=new Son (); } } }
然后一路F11,进行跟踪,可以得到完整的执行顺序如下所示:
1.子类静态变量;
2.子类静态构造函数;
3.子类非静态变量;
4.父类静态变量;
5.父类静态构造函数;
6.父类非静态变量;
7.父类无参构造函数;
8.子类无参构造函数;
如果Main()方法中改为Son son1=new Son (111),顺序为;
1.子类静态变量;
2.子类静态构造函数;
3.子类非静态变量;
4.父类静态变量;
5.父类静态构造函数;
6.父类非静态变量;
7.父类无参构造函数;
8.子类有参构造函数;
如果子类的有参构造函数改为:
public Son(int a):base(a)
{
son_int=a;
}
则顺序又有所改变:
1.子类静态变量;
2.子类静态构造函数;
3.子类非静态变量;
4.父类静态变量;
5.父类静态构造函数;
6.父类非静态变量;
7.父类有参构造函数;
8.子类有参构造函数;
以上测试改为父类声明,子类实现,结果也是一样,即mian()方法中改为Father son1=new Son ();
最后作一个总结:
1.一般原理是被依赖的先构造,依赖于人的后构造,c#中是同层依赖(成员变量,其他的类变量等)优先于跨层依赖(父子关系)构造(注意java中正好相反);(子类的变量是不是可以理解为同层的依赖呢??)
2.静态构造函数,静态参数都是优先于非静态构造函数,非静态参数构造或初始化;
发表评论
-
C#正则表达式小结
2008-09-16 15:27 1595地址: http://www.cnblogs.com/m ... -
C#调用ORACLE存储过程返回结果集及函数
2008-07-22 17:49 2999ORACLE段: 首先在ORACLE建立PACKAGE和PA ... -
生成实体类的codesmith模版
2008-07-15 16:35 3142<%@ CodeTemplate Language=&q ... -
数据库开发个人总结(ADO.NET小结)(转)
2008-06-16 11:41 1974一.用SqlConnection连接SQL Server 1. ... -
ADO.NET—读书笔记系列
2008-06-16 11:37 1961ADO.NET概述 一、。NET数据提供程序 ... -
ADO.NET—DataHelper(转)
2008-06-16 11:24 3272using System; using System.Data ... -
ADO.NET—Asp.net 用DataSet对象更新数据(SqlDataAdapter)
2008-06-16 10:42 3508大家知道,DataSet保存的 ... -
一个简单的在程序中构造DataTable
2008-06-16 09:50 2410DataTable dt = new Data ... -
C# 中的委托和事件
2008-06-11 14:53 1087http://www.cnblogs.com/jimmyzha ... -
c#接口和抽象类的区别
2008-06-11 13:58 2570大家都容易把这两者搞 ... -
C#学习之接口
2008-05-26 16:17 1553什么是接口?其实,接 ... -
谈谈C#中的接口
2008-05-26 15:48 1225http://www.cnblogs.com/sifang20 ... -
C#构造函数
2008-05-26 15:27 4440一、C#构造函数?Construct,Function 构造函 ... -
C#继承小结
2008-05-26 14:48 16501、实例化父类时,可以使用new子类,执行构造函数顺序为:先执 ... -
C#修饰符
2008-05-26 14:30 1973符用于限定类型以及类型成员的申明,c#中有13种修饰符,按功能 ... -
C#命名规范
2008-05-26 13:49 2081注记 : Pascal 大小写形式 ... -
C#中处理xml文档
2008-05-26 11:53 1949C#下处理xml是通过XML.NET API类来实现的. XM ... -
在C#使用XML注释
2008-05-26 11:36 2642简介 大多数程序员可能都听说过Java自带的一个工具JavaD ... -
Visual C# 编译器 CSC.EXE 参数详解
2008-05-26 11:29 4670Visual C#是微软公司推出的新一代程序开发语言,Visu ... -
C# 语句-循环语句
2008-05-26 11:08 3221本文将介绍如何使用C#控制语句中的循环语句,本文目的如下: 1 ...
相关推荐
4.5.3 带参数的构造函数 63 4.5.4 析构函数 64 4.6 小结 65 4.7 习题 65 第5章 流程控制 69 5.1 选择执行——条件 70 5.1.1 条件真假——布尔类型的转化 70 5.1.2 关系运算 71 5.1.3 逻辑运算 71 5.2 选择语句 73 ...
3.10 执行顺序 75 4. 类型 77 4.1 值类型 77 4.1.1 System.ValueType 类型 78 4.1.2 默认构造函数 78 4.1.3 结构类型 79 4.1.4 简单类型 79 4.1.5 整型 80 4.1.6 浮点型 81 4.1.7 decimal 类型 82 4.1.8 bool 类型 ...
实例058 使用构造函数 实例059 通过定义方法求一个数的平方 实例060 使用重载方法实现不同类型数据的计算 实例061 使用属性存储用户编号和姓名 实例062 使用索引器 实例063 通过类继承计算梯形面积 实例064 封装类...
声明结构的默认(无参数)构造函数是错误的。总是提供默认构造函数以将结构成员初始化为它们的默认值。在结构中初始化实例字段是错误的。在类中,必须初始化实例对象. 使用 new 运算符创建结构对象时,将创建该结构...
C#5.0本质论第四版,高清扫描的,对C#5.0技术讲的比较详细,第1章 C#概述 1 1.1 Hello,World 1 1.2 C#语法基础 3 1.2.1 C#关键字 3 1.2.2 标识符 4 1.2.3 类型定义 5 1.2.4 Main 6 1.2.5...
3.10 执行顺序 75 4. 类型 77 4.1 值类型 77 4.1.1 System.ValueType 类型 78 4.1.2 默认构造函数 78 4.1.3 结构类型 79 4.1.4 简单类型 79 4.1.5 整型 80 4.1.6 浮点型 81 4.1.7 decimal 类型 82 4.1.8 bool 类型 ...
4.1.2 默认构造函数... 72 4.1.3 结构类型... 73 4.1.4 简单类型... 73 4.1.5 整型... 74 4.1.6 浮点型. 75 4.1.7 decimal 类型 ... 76 4.1.8 bool 类型... 76 4.1.9 枚举类型... 76 4.1.10 可以为 null 的...
10.10.6 可选的构造函数参数 213 10.11 析构函数 213 10.12 静态构造函数 214 10.12.1 类加载和初始化 215 11. 结构 217 11.1 结构声明 217 11.1.1 结构修饰符 217 11.1.2 接口 217 11.1.3 结构体 217 11.2 结构成员...
10.10.6 可选的构造函数参数... 213 10.11 析构函数... 213 10.12 静态构造函数... 214 10.12.1 类加载和初始化... 215 11. 结构... 217 11.1 结构声明... 217 11.1.1 结构修饰符... 217 11.1.2 接口... 217 11.1.3 ...
向方法传递结构时,是通过传值方式传递的,结构实例化可以不用new,结构可以声明构造函数,但必须带参数,且声明的构造函数是用来对成员初始化的,必须包含每个字段。结构不能从另一个结构或类继承而来,但可以实现...
10.3 构造函数和析构函数 .119 10.4 小 结 .122 第十一章 方 法 .124 11.1 方法的声明.124 11.2 方法中的参数.125 11.3 静态和非静态的方法.129 11.4 方法的重载.130 11.5 操作符重载.134 11.6 小 ...
ComputeHash 方法中的参数及说明如表19.1 所示。 表19.1 ComputeHash方法中的参数及说明 参 数 说 明 buffer 要计算其哈希代码的输入 offset 字节数组中的偏移量,从该位置开始使用数据 count 数组中用作数据的字节...
3.10 执行顺序 75 4. 类型 77 4.1 值类型 77 4.1.1 System.ValueType 类型 78 4.1.2 默认构造函数 78 4.1.3 结构类型 79 4.1.4 简单类型 79 4.1.5 整型 80 4.1.6 浮点型 81 4.1.7 decimal 类型 82 4.1.8 bool 类型 ...
3.10 执行顺序 75 4. 类型 77 4.1 值类型 77 4.1.1 System.ValueType 类型 78 4.1.2 默认构造函数 78 4.1.3 结构类型 79 4.1.4 简单类型 79 4.1.5 整型 80 4.1.6 浮点型 81 4.1.7 decimal 类型 82 4.1.8 bool 类型 ...
C#编译原理 目 录 译者序 前言 第1章 概论 1 1.1 为什么要用编译器 2 1.2 与编译器相关的程序 3 1.3 翻译步骤 5 1.4 编译器中的主要数据结构 8 1.5 编译器结构中的其他问题 10 1.6 自举与移植 12 1.7 TINY样本语言与...
5.4.1 构造函数的概念及使用 92 5.4.2 析构函数的概念及使用 92 5.5 枚举 93 5.5.1 什么是枚举 93 5.5.2 枚举的定义 93 5.5.3 枚举的使用 94 5.6 方法 95 5.6.1 方法的声明 95 5.6.2 方法的参数 ...
删除事件设计准则l3-5 .NETFramewoek事件设计准则13-6传递事件的参数13-6-1Sender对象与事件参数13-6-2定义delegate函数样板13-6-3EventArgs类的设计l3-6-4事件处理常式的编写13-6-5触发事件第14章Attribute与...
10.10.6 可选的构造函数参数 79 10.11 析构函数 79 10.12 静态构造函数 79 10.12.1 类加载和初始化 79 11. 结构 79 11.1 结构声明 79 11.1.1 结构修饰符 79 11.1.2 接口 79 11.1.3 结构体 79 11.2 结构成员 79 11.3 ...