一个实例是如何初始化从构造函数有什么不同?

换句话说,为什么你需要一个实例初始化? 你在写一个实例初始化了一个构造函数有什么区别或优势如何?

--------------解决方案-------------

这似乎可以解释得很好:

实例初始化是一个有用的替代实例变量初始化时:

  • 初始化代码必须捕获异常,或
  • 执行无法表达与实例变量初始化看中的计算你可以,当然,总是在构造函数中写这样的代码。

但是,在一个类中有多个构造函数,你必须重复代码中的每个构造。 随着一个实例初始化,您可以只编写一次代码,它会不管是什么构造函数用于创建对象执行。 实例初始化也是匿名内部类,它不能在所有的声明任何构造函数是有用的。

来源:JavaWorld的对象初始化在Java中。

在对象生命周期而言,没有任何区别。 无论是在施工时调用,并在逻辑上的初始化块可以被认为是建筑的一部分。

语义上,一个初始化是一个很好的工具,有以下几个原因:

初始化可以通过保持旁边的变量初始化逻辑被初始化,提高代码的可读性:

public class Universe {
public int theAnswer;
{
int SIX = 6;
int NINE = 7;
theAnswer = SIX * NINE;
}

// a bunch of other vars
}

VS

public class Universe {
public int theAnswer;

// a bunch of other vars

public Universe() {
int SIX = 6;
int NINE = 7;
theAnswer = SIX * NINE;

// other constructor logic
}
}

无论使用哪个构造函数初始化器被调用。

初始化器可以在匿名内部类,可以用在构造函数不能。

当你有多个构造函数,并希望一些常用的代码为每一个构造函数可以使用实例initializer.As它要求所有构造函数执行。

我会避免一般的实例初始化成语 - 唯一真正的优势,它给了变量初始化是异常处理。

而且,由于一个init方法(从构造函数调用)也可以做例外处理,也集中构造函数初始化代码,但它可以在构造函数中的参数值进行操作的优点,我想说的实例初始化是多余的,因此要避免。

分类:java的 时间:2015-03-15 人气:0
本文关键词: Java中,实例化
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.917 (s). 10 q(s)