首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Think in Java - Chatpter 六 类再生

2013-03-01 
Think in Java - Chatpter 6 类再生?如希望句柄得到初始化,可在下面这些地方进行:在对象定义的时候。这意味

Think in Java - Chatpter 6 类再生
?

如希望句柄得到初始化,可在下面这些地方进行:

在对象定义的时候。这意味着它们在构建器调用之前肯定能得到初始化。在那个类的构建器中。紧靠在要求实际使用那个对象之前。这样做可减少不必要的开销——假如对象并不需要创建的话。
?

?

final方法:

第一个是为方法“上锁”,防止任何继承类改变它的本来含义。程序执行的效率。Think in? Java 写道将一个方法设成 final 后,编译器就可以把对那个方法的所有调用都置入“嵌入”调用里。
只要编译器发现一个final 方法调用,就会(根据它自己的判断)忽略为执行方法调用机制而采取的常规代码插入方法(将自变量压入堆栈;跳至方法代码并执行它;跳回来;清除堆栈自变量;最后对返回值进行处理)。
相反,它会用方法主体内实际代码的一个副本来替换方法调用。这样做可避免方法调用时的系统开销。

final方法体执行效率一般会高一些:

replace the method call:push arguments on the stack, hop over to the method code and execute it, hop back and clean off the stack arguments, and deal with the return value?with a copy of the actual code in the method body

final 类:

表明自己不希望从这个类继承,或者不允许其他任何人采取这种操作。

换言之,出于这样或那样的原因,我们的类肯定不需要进行任何改变;或者出于安全方面的理由,我们不希望进行子类化(子类处理)。

所以与我们将一个方法明确声明为final 一样,编译器此时有相同的效率选择。

?

装载 - 首先parent、然后child

初始化 - 首先parent的static、然后child的static

热点排行