So Long, Old Friend
作者:admin 日期:2010-01-25
Java构造函数顺序依赖
作者:admin 日期:2009-03-25
参考《Java程序设计语言(第三版)》
构造函数执行的顺序:创建Java对象时,
1. 对对象域的所有域分配内存(包括从超类继承的),为所有的域设置相应类型的初始值(比如:int型设置为0,boolean类设置为false,char型设置为“\u0000”,对象域设置为null等)
2. 调用构造函数,分三个阶段
(1)调用超类构造函数
首先执行显式或者隐式的超类构造函数。显式的构造函数调用包括了超类构造函数调用(super)和自身构造函数调用(this)。如果程序没有调用超类的构造函数,也没有将自己的构造函数作为构造函数的首条可执行语句,那么在新构造函数的任何语句执行之前,超类不带自变量的构造函数会被自动执行。也就是自己的构造函数会被看成
super();
是它的道个执行语句。当然,如果超类没有不带自变量的构造函数,就必须显式的调用另一个构造函数。
如果用了显式的this构造函数调用,那么这种调用链会一直执行到遇到某个或隐式的超类构造函数调用为止。然后这个超类构造函数就会被调用。超类构造函数的执行也要经过三个调用,这种过程是递归进行的,直到到达Object类构造函数。作为显式构造函数调用的一部分的任何表达式都不允许引用当前对象的成员。
Java动态绑定的细节
作者:admin 日期:2008-10-26
[转载]Java Exception实践
作者:admin 日期:2007-08-06
本文是Exception处理的一篇不错的文章,从Java Exception的概念介绍起,依次讲解了Exception的类型(Checked/Unchecked),Exception处理的最佳实现:
1. 选择Checked还是Unchecked的几个经典依据
2. Exception的封装问题
3. 如无必要不要创建自己的Exception
4. 不要用Exception来作流程控制
5. 不要轻易的忽略捕获的Exception
6. 不要简单地捕获顶层的Exception
原文地址:
http://www.onjava.com/pub/a/onjava/2003/11/19/exceptions.html










