声明 定义 java_Java:定义术语初始化、声明和分配

8b51762c9976b682e12044714919de2f.png

偶然的你

声明不是将“值”声明为变量,而是声明类型变量。赋值只是将一个值存储到一个变量。初始化是将值赋值给变量。在申报时.这些定义也适用于字段。int i;  // simple declarationi = 42  // simple assignmentint[] arr = { 1, 2, 3 };// declaration with initialization, allows special shorthand syntax for arraysarr = { 4, 5, 6 }; // doesn't compile, special initializer syntax invalid herearr = new int[] { 4, 5, 6 }; // simple assignment, compiles fine但是,应该指出,“初始化”对于“变量的第一次赋值”也有一个更为宽松的定义,无论它发生在何处。int i; // local variable declarationif (something) i = 42;System.out.println(i);  // compile time error: The local variable i may not have been initialized然而,这汇编了:int i; // the following also compiles if i were declared finalif (something) i = 42;else i = 666;System.out.println(i);这里i可以通过简单的赋值从两个可能的位置“初始化”。因为这个,如果i是一个数组,您不能对此构造使用特殊的数组初始化器简写语法。因此,基本上“初始化”有两个可能的定义,取决于上下文:在最狭窄的形式下,这是一个任务与声明相结合的时候。它允许,除其他外,特殊的数组速记初始化器语法。更普遍的情况是,当第一次给变量赋值时。它允许,除其他外,分配给final变量在多个地方。编译器将尽最大努力确保这些分配中的一项能够发生,从而“初始化”final变量还有JVM上下文类和实例初始化,OOP上下文对象初始化等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值