网站首页 新闻首页 网页设计图形动画软件编程网站开发办公软件操作系统数据库网络技术认证考试范文资料黑客攻防 书籍教程 进入论坛

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

http://www.diybl.com/ 2007-2-6  网络 点击:  [ 评论 ]
文章搜索:    【点击打包该文章】

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.");
}
}


结果是

而C#的构造函数执行顺序是:先引用对象,在父类,再子类.to construct Parent.
to construct Delegatee.
to construct Child.

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#是同层依赖优先于跨层依赖.



欢迎光临DIY部落,点击这里查看更多文章教程   【点击打包该文章】
如果图片或页面不能正常显示请点击这里 站内搜索:   
上一篇文章:Java性能
下一篇文章:使用Java Server Faces技术自定义组件

文章评论

请您留言