問題闡述
在 Java 語言中提供了多種修飾類型,如私有類型 private、受保護(hù)的類型
protected、公共類型 public 等,請(qǐng)問局部變量可以定義私有修飾類型嗎?
解答
在 Java 語言中,可以使用 private、protected 和 public
修飾類、成員變量和方法,但是不可以使用 private、protected 和 public 修飾局部變量。final
可以用來修飾局部變量,但這樣修飾后它會(huì)變?yōu)槌A俊?/span>
例如:
package com.mingrisoft;public class Something {
void doSomething() {
private String s = ""; //使用 private 修飾局部變量,出錯(cuò)
int l = s.length();
}
}
說明:
上面的代碼段在 doSomething()方法中使用關(guān)鍵字 private 修飾了局部變量
s,由于 Java語言中局部變量不允許使用 private、protected 和 public 進(jìn)行修飾,因此程序?qū)o法通過編譯,當(dāng)鼠標(biāo)移動(dòng)到局部變量 s
處時(shí),將顯示提示文本,結(jié)果如圖 3.3 所示。
點(diǎn)評(píng)
局部變量只在定義它的方法內(nèi)部有效,并且不能使用 private、protected 和
public 等修飾符進(jìn)行修飾,當(dāng)局部變量所在的方法調(diào)用結(jié)束后,Java 虛擬機(jī)將自動(dòng)釋放局部變量所占用的資源。