您所在的位置: 首页 > 开发 > JAVA >

Java与C#的构造函数执行顺序的不同之处

  • 摘要:本文介绍了Java与C#的构造函数执行顺序的不同并附以源代码实例进行讲解。
  • 标签:Java  C#  函数

Java:先执行父类的构造函数,然后是引用对象的构造函数(必须有new声明实际类型),然后是自己的构造函数。

public class Test
{
public static void main(String[] args)
{
Child child = new Child();
}
}

class Parent
{
Parent()
{
System.out.println("to construct Parent.");
}
}

class Child extends Parent
{
Child()
{
System.out.println("to construct Child.");
}
Delegatee delegatee = new Delegatee();
}

class Delegatee
{
Delegatee()
{
System.out.println("to construct Delegatee.");
}
}

结果是:

to construct Parent. 
to construct Delegatee.
to construct Child.

而C#的构造函数执行顺序是:先引用对象,在父类,再子类。

using System;
namespace ConsoleApplication1{
public class Test
{
public static void Main(String[] args)
{
Child child = new Child();
}
}

class Parent
{
public Parent()
{
Console.WriteLine("to construct parent");
}
}

class Child : Parent
{
public Child()
{
Console.WriteLine("to construct Child.");
}
Delegatee delegatee = new Delegatee();
}
class Delegatee
{
public Delegatee()
{
Console.WriteLine("to construct Delegatee.");
}
}
}

结果是:

to construct Delegatee. 
to construct Child.
to construct Parent.

总结:被依赖的先构造,依赖于人的后构造。Java 是跨层依赖优先于同层依赖构造,而C#是同层依赖优先于跨层依赖。

【相关文章】

【责任编辑:火凤凰 TEL:(010)68476606-8007】

Java实用开发全集
C#实用基础教程
Java类的基础教程专题
Java发展动态专题
Java ME开发应用
 
 验证码: (点击刷新验证码)   匿名发表
  • 亮剑.NET. 图解C#开发实战

  • 作者:李新峰 付志涛 缪勇
  • 本书采用全新的图解思路,分3篇介绍使用微软C#语言开发实际应用程序的基本知识。第1篇包括10章,介绍了C#语言的基础知识,主要..
Copyright©2005-2009 51CTO.COM 版权所有