C#基础知识之父子类,实例、静态成员变量,构造函数的执行顺序(经典示例)
父子类、示例、静态成员变量、构造函数的概念的基础理解完全可以利用下面的示例诠释,非常经典,直接上代码:
public class ShowInfo
{
public ShowInfo(string info)
{
Console.WriteLine(info);
}
} class father
{
public static ShowInfo StaticFatherMember = new ShowInfo("父类静态成员变量执行"); //父类静态成员变量
public ShowInfo InstanceFatherMember = new ShowInfo("父类实例成员变量执行"); //父类实例成员变量
static father() //父类构造函数
{
ShowInfo StaticFatherMethod = new ShowInfo("父类静态构造函数执行"); //父类静态构造函数
}
public father()
{
ShowInfo bcsI = new ShowInfo("父类实例构造函数执行");
}
}
class son : father
{
public static ShowInfo StaticSonMember = new ShowInfo("子类静态成员变量执行");
public ShowInfo InstanceStaticSonMember = new ShowInfo("子类实例成员变量执行"); static son()
{
ShowInfo StaticSonMethod = new ShowInfo("子类静态构造函数执行");
}
public son()
{
ShowInfo InstanceSonMethod = new ShowInfo("子类实例构造函数执行");
}
}
class Program
{
static void Main(string[] args)
{
//各个对象的初始化顺序如下:
//①子类静态成员变量
//②子类静态构造函数
//③子类实例成员变量
//④父类静态成员变量
//⑤父类静态构造函数
//⑥父类实例成员变量
//⑦父类构造函数
//⑧子类构造函数
son s = new son();
Console.ReadKey();
}
}
来看看最后的输出结果:

这个例子非常有意思,考察的全部是基础知识,从静态非静态,父子类的基础知识分析,结婚不难得出。
C#基础知识之父子类,实例、静态成员变量,构造函数的执行顺序(经典示例)的更多相关文章
- 【转】C#父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
原文地址:http://www.xuebuyuan.com/1092603.html Win7+VS2010测试的结果如下: ①子类静态成员变量②子类静态构造函数③子类实例成员变量④父类静态成员变量⑤ ...
- C# 父子类_实例_静态成员变量_构造函数的执行顺序
今天去面试的时候被一道题问得一点脾气都没有,今天特地来研究下. 子类成员变量,子类静态成员变量,子类构造函数,父类成员变量,父类静态成员变量,父类构造函数的执行顺序. 现在贴上从另外一个.net程序员 ...
- 关于java中构造方法、实例初始化、静态初始化执行顺序
在Java笔试中,构造方法.实例初始化.静态初始化执行顺序,是一个经常被考察的知识点. 像下面的这道题(刚刚刷题做到,虽然做对了,但是还是想整理一下) 运行下面的代码,输出的结果是... class ...
- C#基础知识—父类和子类的关系
基础知识一: using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms ...
- 【Java基础】继承中的代码块和构造方法的执行顺序探索
本文讲述有关一个类的静态代码块,构造代码块,构造方法的执行流程问题.首先来看一个例子 /** * Created by lili on 15/10/19. */ class Person{ stati ...
- odoo开发笔记 -- 多个子类继承同一个父类方法的执行顺序
场景描述: odoo模块化开发的架构理念,科学&高效, 可以让很多业务场景,尽可能松耦合:让开发人员的主要精力,关注在当前的业务逻辑: 所谓「前人栽树,后人乘凉」,模块整体好比一棵大树, 开发 ...
- JavaScript基础知识(概念、常量和变量)
1.JavaScript概念 JavaScript是脚本语言; 编写之后,可以直接运行(缺失了编译的过程) 2.JavaScript发展 LiveScript => JavaScri ...
- Java基础 静态块、非静态块、构造函数的执行顺序
Java中经常有一些静态块,这是用来在生成类之前进行的初始化,无论java还C++语言中的static,都是最先初始化好的.结构如下: static { 静态语句代码块 } { 非静态语句代码块 } ...
- Odoo(OpenERP) 多个子类重载同一个父类方法的执行顺序及如何调用父类的父类方法
首先说下起因,在修改英国会计模块(没错,就是那个安格鲁撒克逊记账模式!)中不符合中国国情的部分供能时,碰到了一个棘手的问题,简单的说就是B类继承它的父类A并重载了A的方法M,同时C类也继承了A类也重载 ...
随机推荐
- Python的sys.argv用法
import sys a = sys.argv[:] print("输入的参数为:", a) def train_start(start_time, end_time, selec ...
- Sensor在内核中的驱动框架【转】
本文转载自:http://blog.csdn.net/armfpga123/article/details/52840370 内核中对sensor的抽象:drivers/sensors/sensors ...
- qemu-kvm: unable to map backing store for guest RAM: Cannot allocate memory
当给 KVM 虚拟机设置 hugepage 时,需要在虚拟机的配置文件里加上下面一段: <memoryBacking> <hugepages/></memoryBacki ...
- Git:目录
ylbtech-Git:目录 1.返回顶部 1. https://git-scm.com/ 2. 2.返回顶部 1.Easy Git Integration Tools https://marketp ...
- centos官网镜像下载方法
1.CentoS简介 CentOS(Community Enterprise Operating System,社区企业操作系统)是一个基于Red Hat Linux 提供的可自由使用源代码的企业级L ...
- Cloudera-JDBC-Driver-for-Apache-Hive
Cloudera-JDBC-Driver-for-Apache-Hive-Install-Guide.pdf https://github.com/FlowerBirds/flowerbirds.gi ...
- ABAP基本数据类型
ABAP 程序中共包含8种基本数据类型: 数据类型名称 描述 属 性 C Character Text(字符类型) 默认长度=1,默认值=blank,最大长度无限制 N Numeric Text(数 ...
- django 的多对多关系
django里自带的多对多表创建 其实就是两个多对一关系各自关联,在第三张表上 多对多的增加 add()可以传数值 例如 add(1)或数组 add(*[2,3]) 多对多反向操作 自己创建第三张表, ...
- mysql 登录和退出 和简单得操作命令
{} 是必须要有得,[]是可有,可没有得... SHOW WARNINGS (查看警告信息) SHOW CREATE DATABASE T1; (查看数据得创建sql语句)
- urllib库认证,代理,cookie
认证,代理,cookie 1from urllib.request import HTTPBasicAuthHandler, HTTPPasswordMgrWithDefaultRealm, buil ...