子类父类构造方法执行顺序举例
来源:互联网 发布:淘宝女士小包包 编辑:程序博客网 时间:2024/05/16 08:08
using System;using System.Collections.Generic;using System.Linq;using System.Text;class A//new一个子类B的话,会先调用父类的构造函数,在调用子类的构造函数;然后,在调用子类的方法B.PrintFields().{ public A() { PrintFields(); } public virtual void PrintFields(){}}class B:A{ int x=1; int y; public B() { y=-1; } public override void PrintFields() { Console.WriteLine("x={0},y={1}",x,y); } static void Main(string[] args) { new B().PrintFields(); Console.ReadKey(); //Console.WriteLine("x={0},y={1}", x, y); }}
总结:如果子类定义了构造方法,在创建子类的对象的时候,首先执行父类的构造方法,然后执行自己的构造方法,父类的构造方法 public A()里面有PrintFields()——>public virtual void PrintFields(){}因为是虚函数so--->B类的重写函数public override void PrintFields()--->输出了x=1,y=0--->然后执行子类子类构造函数public B()--->y=-1;又因为在创建对象的时候在调用子类的函数PrintFields(),所以在执行完父类构造函数和子类构造函数之后,会再次执行子类的public override void PrintFields()函数--->再次输出了x=1,y=-1。
0 0
- 子类父类构造方法执行顺序举例
- 子类与父类构造方法执行顺序
- 子类和父类的 static块 和 构造方法 构造块 的执行顺序
- 继承--抽象类--接口--子类构造方法代码执行顺序
- 继承--抽象类--接口--子类构造方法代码执行顺序
- 子类extends父类方法执行顺序
- java中 静态成员、实例成员、构造方法在子类和父类中的执行顺序
- 父类子类静态块、游离块、构造方法的执行顺序
- 探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- 【JAVA】探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- 父类子类构造方法、静态代码块、非静态代码块的执行顺序
- JAVA中静态代码块、构造方法、Super()父类与子类之间执行顺序
- 一个java文件中子类与父类构造方法执行顺序
- 父类子类静态代码块,构造方法的执行顺序
- 父类与子类的静态代码块、代码块、构造方法执行顺序
- Java子类继承父类,构造方法的执行顺序问题
- JAVA中静态代码块、构造方法、Super()父类与子类之间执行顺序
- AngularJS专题——路由
- HDU 1166 敌兵布阵
- 62. Unique Paths 动态规划算法浅谈
- 搜索二维矩阵
- Android WebView 缓存处理
- 子类父类构造方法执行顺序举例
- HDU1800 Flying to the Mars
- POJ 2251 Dungeon Master(BFS)
- PDO中事物处理
- Scala连接mongodb数据库
- lua5.3源码基础阅读(luaL_openlibs)
- 【PHP内核】运算符:instanceof的内核实现
- 关于python的标准库
- MVC,MVP 和 MVVM 的图示