该用户从未签到
|
沙发
发表于 2015-04-04 11:28:55
|只看该作者
答案:不能访问局部的,可以访问成员变量(全局的)。 g' E7 z2 [* {/ b r, y
class Out
$ G( T2 \+ N; ^2 ~! M4 y8 j{
4 z7 m# @6 R+ h3 @private String name = “out.name”;- m5 M5 o" \0 i
void print()
9 W% m9 a3 `9 K" F{( u: m$ y& Y, y% W4 X/ i
final String work = “out.local.work”;//若不是final的则不能被Animal 使用.
8 N1 ~: I& g {# w* y Dint age=10;
) b; g! d' ^' l( n4 Yclass Animal+ b H6 u) [" Z8 _6 Q0 B
//定义一个局部内部类.只能在print()方法中使用.2 ^) S- [) l3 z- i: [
//局部类中不能使用外部的非final的局部变量.全局的可以.
8 A- i! Y" Z) }{
" \" K% H) n/ A" h$ hpublic void eat()/ n& P# T# o9 ?4 u I/ w5 C
{
* \9 b6 T) D3 n$ X" ^System.out.println(work);//ok9 A% R$ G5 f# g$ [4 a2 M5 F
//age=20;error not final
: `4 h. ]$ Q* F2 i& N% }: kSystem.out.println(name);//ok.6 z h ~0 \: g+ x5 ^
}' M, r- T% U8 s! u2 z
}
/ d) J) }+ ~! Z7 p% V6 @Animal local = new Animal();( ~/ J3 X, T& u q
local.eat();
2 Y- L2 Z; n3 E& b3 K" \; _}
2 R& E9 Q% `$ t$ z; c. ?4 ^} |
|