java类成员变量初始化_探讨Java类中成员变量的初始化方式

在 Java 里定义一个类的时候,很多时候我们需要提供成员变量,成员变量专业叫法是 Memeber Variable 或者干脆的叫作 Field. 根据是否使用 static 关键字修饰,可以将 Field 分为两种:

static field:也称作 class variable,这种 filed 属于 class,并不属于单个 instance,所有该 class 的 intance 共享内存中的同一份 class field。

non-static field:也称作 instance variable,它属于每一个具体的 instance,class 的每一个 instance 独享一份 non-static field。

接下来进入本文的主题:java 中 field 的初始化方式。

从初始化代码所在的位置看,可以粗略的分为三种:

在声明 field 的地方进行初始化。

在类的构造方法(constructor) 里对 field 进行初始化

在初始化块(initialization block) 中对已声明的 field 进行初始化

第一种方式主要用于简单的赋值,使用这种方式的前提是作为初始化变量的值是已知的并且通常可以使用单行的赋值语句完成(例外?参见 Double Brace Initialization)。

public class Foo {

// class variable initializer

private static Logger logger = LoggerFactory.getLogger(Foo.class);

// instance variable initializer

priv

你可能感兴趣的:(java类成员变量初始化)