A 类变量是在 a 中使用关键字 static 声明的字段
类声明(第 8.3.1.1 节),或带或不带关键字 static
在接口声明中(第 9.3 节)。
类变量在其类或接口准备好时创建
(第 12.3.2 节)并初始化为默认值(第 4.12.5 节)。班上
当变量的类或接口被删除时,变量实际上不再存在
卸载(§12.7)。
An 实例变量是在类声明中声明的字段
不使用关键字 static (§8.3.1.1)。
如果类 T 有一个字段 a 是实例变量,则新的
创建实例变量 a 并初始化为默认值
(§4.12.5)作为每个新创建的 T 类对象或任何对象的一部分
类是 T 的子类(第 8.1.4 节)。实例变量
当它作为场的对象是时,它实际上不再存在
在对象的任何必要的终结之后不再被引用
(§12.6)已完成。
数组组件是未命名的变量被创建和
每当一个新对象被初始化为默认值(§4.12.5)
创建一个数组(第 10 节,第 15.10 节)。阵列组件有效
当不再引用数组时,该数组将不再存在。
方法参数(§8.4.1) 传递给方法的名称参数值。
对于方法声明中声明的每个参数,都会有一个新参数
每次调用该方法时都会创建变量(第 15.12 节)。新的
变量使用相应的参数值进行初始化
方法调用。该方法参数实际上不再存在
当方法体执行完成时。
构造函数参数(§8.8.1) 传递给 a 的名称参数值
构造函数。
对于构造函数声明中声明的每个参数,都会有一个新的
每次创建类实例时都会创建参数变量
表达式(第 15.9 节)或显式构造函数调用(第 8.8.7 节)调用
那个构造函数。新变量初始化为
来自创建表达式的相应参数值或
构造函数调用。构造函数参数有效停止
当构造函数主体执行时存在
完全的。
异常参数每次捕获异常时都会创建
try 语句的 catch 子句(第 14.20 节)。
新变量使用关联的实际对象进行初始化
例外情况(§11.3、§14.18)。异常参数有效
当执行与 catch 关联的块时不再存在
条款已完成。
局部变量由局部变量声明语句声明
(第 14.4 节)。
每当控制流进入块(§14.2)或 for 语句时
(§14.14),为每个声明的局部变量创建一个新变量
在立即包含的局部变量声明语句中
该块或 for 语句。