该用户从未签到
|
沙发
发表于 2015-04-04 11:28:55
|只看该作者
答案:不能访问局部的,可以访问成员变量(全局的)。: A- f7 b# a, v; r1 @/ V* }
class Out
( a) a9 w& y4 l- r6 p{
/ g3 V& O- y' }/ |6 Qprivate String name = “out.name”;# P; k8 G! L- D0 \4 p# l8 n
void print() L# y7 K7 H( @1 W' C7 y+ t+ w
{2 W. u1 V+ E' \- C
final String work = “out.local.work”;//若不是final的则不能被Animal 使用., ^9 i% O8 A) ~& O) |% M% b
int age=10;
t/ J: k8 m! Nclass Animal) o% O% ?1 w0 ?
//定义一个局部内部类.只能在print()方法中使用.
) O7 N+ U4 x! n6 `9 W//局部类中不能使用外部的非final的局部变量.全局的可以.+ ?& R" C1 V) B! S, o+ i/ F: x2 s% N
{
6 U( j$ I5 d8 `9 t; T. Q% {public void eat()
" R* Q' ~7 `/ ^' m5 t" I{
+ G4 q$ \7 Q) X6 O& X, V" |2 QSystem.out.println(work);//ok' d( R. {# H1 E1 G# Y
//age=20;error not final
$ t) F6 k* E( I+ hSystem.out.println(name);//ok.- k$ A. p) Z3 B' r
}
6 C9 J# h: i' {5 B* B}
+ |" B7 ]6 u' QAnimal local = new Animal();
1 x* Y+ p1 O4 s% N% q, Z) Hlocal.eat();/ o' E" W2 o$ `# \) E) {" Y4 O
}7 T/ [" q) d; {8 n
} |
|