{ int age = 3; String name = "www.weixueyuan.net"; // 正确,在块内部可以访问 age 和 name 变量 System.out.println( name + "已经" + age + "岁了"); } // 错误,在块外部无法访问 age 和 name 变量 System.out.println( name + "已经" + age + "岁了");
说明
方法内部除了能访问方法级的变量,还可以访问类级和实例级的变量。
块内部能够访问类级、实例级变量,如果块被包含在方法内部,它还可以访问方法级的变量。
方法级和块级的变量必须被显示地初始化,否则不能访问。
代码
publicclassDog {
publicstatic String name = "name"; // 类级变量
publicint i; // 对象实例级变量
{ int j = 2; // 块级变量 }
publicvoidtest1 (){ // 方法级变量 int j = 1; if (j ==1 ) { int k = 5; // 块级变量 }
System.out.println(name + i + j ); // 这里不能访问块级变量,块级别变量只能在块内部访问 }