声明 定义 java_Java:定义术语初始化、声明和分配
聲明不是將“值”聲明為變量,而是聲明類型變量。
賦值只是將一個(gè)值存儲到一個(gè)變量。
初始化是將值賦值給變量。在申報(bào)時(shí).
這些定義也適用于字段。
int i;? // simple declaration
i = 42? // simple assignment
int[] arr = { 1, 2, 3 };
// declaration with initialization, allows special shorthand syntax for arrays
arr = { 4, 5, 6 }; // doesn't compile, special initializer syntax invalid here
arr = new int[] { 4, 5, 6 }; // simple assignment, compiles fine
但是,應(yīng)該指出,“初始化”對于“變量的第一次賦值”也有一個(gè)更為寬松的定義,無論它發(fā)生在何處。
int i; // local variable declaration
if (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 final
if (something) i = 42;
else i = 666;
System.out.println(i);
這里i可以通過簡單的賦值從兩個(gè)可能的位置“初始化”。因?yàn)檫@個(gè),如果i是一個(gè)數(shù)組,您不能對此構(gòu)造使用特殊的數(shù)組初始化器簡寫語法。
因此,基本上“初始化”有兩個(gè)可能的定義,取決于上下文:
在最狹窄的形式下,這是一個(gè)任務(wù)與聲明相結(jié)合的時(shí)候。
它允許,除其他外,特殊的數(shù)組速記初始化器語法。
更普遍的情況是,當(dāng)?shù)谝淮谓o變量賦值時(shí)。
它允許,除其他外,分配給final變量在多個(gè)地方。
編譯器將盡最大努力確保這些分配中的一項(xiàng)能夠發(fā)生,從而“初始化”final變量
還有JVM上下文類和實(shí)例初始化,OOP上下文對象初始化等。
總結(jié)
以上是生活随笔為你收集整理的声明 定义 java_Java:定义术语初始化、声明和分配的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql性能调优与架构设计 51cto
- 下一篇: instanceof java list