linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘网络学院网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > JAVA >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·Ajax实现在textbox中模糊查询显
·Ajax实现分页查询
·JAVA反编译工具jad的简单用法
·基于Spring+Hibernate+Eclip
·java定时执行的三种方法
·读取数码照片中的Exif信息
·JSP获取客户端的浏览器和操作系
·Java文件操作大全
·Java中利用通讯API编写短信软件
·JAVA技术:上传图片的缩放处理
·利用Java实现网页浏览器
·Java编程基础
·Java调用Oracle的过程和函数
·JAVA得到网卡物理地址(Windows
·NetBeans vs Eclipse之性能参数
最新文章
·实例解析:Linux操作系统下Jav
·JAVA得到网卡物理地址(Windows
·Ajax实现在textbox中模糊查询显
·Ajax简单示例之改变下拉框动态
·AJAX如何与后台交互
·Ajax实现分页查询
·Ajax核心:XMLHTTP组件相关技术
·面向Java程序员的Ajax:构建动态
·JSP获取客户端的浏览器和操作系
·提高Java技能的几种简单有效的
·敏捷开发中需掌握移除重复代码
·Java中利用通讯API编写短信软件
·关于String和StringBuffer
·用Java得到硬盘空间
·如何优化JAVA程序设计和编码,
Google
 
Java与C#的构造函数执行顺序的不同之处
[ 作者:  加入时间:2007-10-24 15:03:10  来自:Linux联盟收集整理 ]

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

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

class ParentPXLLinux联盟
{PXLLinux联盟
Parent() PXLLinux联盟
{PXLLinux联盟
System.out.println("to construct Parent.");PXLLinux联盟
}PXLLinux联盟
}

class Child extends ParentPXLLinux联盟
{PXLLinux联盟
Child() PXLLinux联盟
{PXLLinux联盟
System.out.println("to construct Child.");PXLLinux联盟
}PXLLinux联盟
Delegatee delegatee = new Delegatee();PXLLinux联盟
}

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

结果是:

to construct Parent. PXLLinux联盟
to construct Delegatee. PXLLinux联盟
to construct Child.

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

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

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

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

结果是:

to construct Delegatee. PXLLinux联盟
to construct Child. PXLLinux联盟
to construct Parent.

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

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·网页实用技巧:随机显示不同页面背景  (2007-10-30 13:55:09)
 ·不同的类UNIX操作系统密码破解方法介绍  (2007-10-25 10:22:32)
 ·C++类对象的复制-拷贝构造函数  (2007-10-23 14:17:08)
 ·c++面向对象的编程介绍类构造函数与析构函数  (2007-10-23 14:13:24)
 ·C++/C编程指南系列教程10-类的构造函数、析构函数与赋值函数  (2007-10-23 12:32:08)
 ·Linux系统中对不同版本的软件进行管理  (2007-10-22 09:48:42)
 ·Mozilla将为不同系统开发Firefox 3界面  (2007-10-22 09:44:39)
 ·不同网络环境路由器功能简介  (2007-10-09 15:30:34)
 ·FreeBSD下编译升级内核的不同操作手法  (2007-09-14 11:59:34)
 ·Oracle *Graphics中不同类型图形的切换  (2007-08-21 11:06:23)