问题阐述
在 Java 语言中提供了多种修饰类型,如私有类型 private、受保护的类型
protected、公共类型 public 等,请问局部变量可以定义私有修饰类型吗?
解答
在 Java 语言中,可以使用 private、protected 和 public
修饰类、成员变量和方法,但是不可以使用 private、protected 和 public 修饰局部变量。final
可以用来修饰局部变量,但这样修饰后它会变为常量。
例如:
package com.mingrisoft;public class Something {
void doSomething() {
private String s = ""; //使用 private 修饰局部变量,出错
int l = s.length();
}
}
说明:
上面的代码段在 doSomething()方法中使用关键字 private 修饰了局部变量
s,由于 Java语言中局部变量不允许使用 private、protected 和 public 进行修饰,因此程序将无法通过编译,当鼠标移动到局部变量 s
处时,将显示提示文本,结果如图 3.3 所示。
点评
局部变量只在定义它的方法内部有效,并且不能使用 private、protected 和
public 等修饰符进行修饰,当局部变量所在的方法调用结束后,Java 虚拟机将自动释放局部变量所占用的资源。