声明 定义 java_Java:定义术语初始化、声明和分配
聲明不是將“值”聲明為變量,而是聲明類型變量。
賦值只是將一個值存儲到一個變量。
初始化是將值賦值給變量。在申報時.
這些定義也適用于字段。
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
但是,應該指出,“初始化”對于“變量的第一次賦值”也有一個更為寬松的定義,無論它發生在何處。
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可以通過簡單的賦值從兩個可能的位置“初始化”。因為這個,如果i是一個數組,您不能對此構造使用特殊的數組初始化器簡寫語法。
因此,基本上“初始化”有兩個可能的定義,取決于上下文:
在最狹窄的形式下,這是一個任務與聲明相結合的時候。
它允許,除其他外,特殊的數組速記初始化器語法。
更普遍的情況是,當第一次給變量賦值時。
它允許,除其他外,分配給final變量在多個地方。
編譯器將盡最大努力確保這些分配中的一項能夠發生,從而“初始化”final變量
還有JVM上下文類和實例初始化,OOP上下文對象初始化等。
總結
以上是生活随笔為你收集整理的声明 定义 java_Java:定义术语初始化、声明和分配的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql性能调优与架构设计 51cto
- 下一篇: python用于数据分析的案例_Pyth