父类、派生类、方法重写、实例化后的执行顺序
2013-06-21 19:10
148 查看
1、实例化派生类时,会先执行父类的构造函数,然后再执行派生类的构造函数
2、派生类重写父类中的虚方法后,如果实例化派生类,引发的执行父类的构造函数中有此虚方法,那么实际执行的是派生类中重写的方法,而不是父类中的虚方法
例:
对B进行实例化: B a = new B();
2、派生类重写父类中的虚方法后,如果实例化派生类,引发的执行父类的构造函数中有此虚方法,那么实际执行的是派生类中重写的方法,而不是父类中的虚方法
例:
public class A { public A() { Console.WriteLine("A类"); fun(); } public virtual void fun() { Console.WriteLine("父类中的方法"); } } public class B:A { public B() { Console.WriteLine("B类"); } public override void fun() { Console.WriteLine("派生类中的方法"); } }
对B进行实例化: B a = new B();
相关文章推荐
- 详细讲解方法重写的注意事项,子类与父类代码的执行顺序
- java类加载和实例化:静态代码块、初始化代码块、构造方法的执行顺序
- Java中子类和父类相关方法的执行顺序
- 子类、父类各种方法的执行顺序
- 【JAVA】探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- Java继承中父类子类构造方法、静态代码块、非静态代码块的执行顺序
- JAVA中静态代码块、构造方法、Super()父类与子类之间执行顺序
- 子类、父类各种方法的执行顺序
- 子类继承父类时实例化子类的执行顺序
- 类在构造时,构造方法内,类属性,父类属性,super的执行顺序
- 静态语句块,非静态语句块,构造方法在子类和父类的执行顺序
- asp.net mvc OnActionExecuting 方法重写后的执行顺序
- Virtual 关键字,派生类重写父类的方法
- java中 静态成员、实例成员、构造方法在子类和父类中的执行顺序
- 父类子类构造方法、静态代码块、非静态代码块的执行顺序
- asp.net 页面父类与子类方法执行的顺序
- 父类和子类静态代码块、非静态代码块、构造函数(方法)执行的先后顺序问题
- 派生类重写父类方法
- java中父类的静态代码块,非静态代码块,构造方法,子类的静态代码块,构造方法等先后执行顺序
- java继承中父类和子类静态、非静态代码块,构造函数,静态方法的执行顺序