您所在的位置:开发 > Java > Java与C#的构造函数执行顺序的不同之处

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

2007-06-04 11:48 dxaw 赛迪网技术社区 我要评论(0) 字号:T | T
一键收藏,随时查看,分享好友!

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

AD:

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】

网友评论TOP5

查看所有评论(

提交评论

  1. 编程排行榜:图形编程的LOGO语言
  2. 什么是响应式Web设计?

热点专题

更多>>

读书

黑客入侵的主动防御
本书是一本非常全面地讲述黑客入侵主动防御技术的网络安全工具书。本书的重点是介绍黑客的攻击手段和提供相应的主动防御保护措施

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 移动互联网生活门户 灵客风LinkPhone