该用户从未签到
|
沙发
发表于 2015-04-04 11:28:55
|只看该作者
答案:不能访问局部的,可以访问成员变量(全局的)。
- W9 X5 c1 u2 m$ {. Aclass Out) p2 N/ c$ Q0 o6 L% d( p
{
9 [& m6 v% q' V7 U4 c( H5 zprivate String name = “out.name”;2 l) ^( _# q( ^9 X G n/ B' P
void print(): ?, W5 V% t$ G
{
3 c( Z2 u" v& E% ?final String work = “out.local.work”;//若不是final的则不能被Animal 使用.$ m- W% N% i' F: ?# l: P! |/ u
int age=10;, D, L0 m6 z5 x- a
class Animal
, h5 m1 i; t& p6 |! l! G//定义一个局部内部类.只能在print()方法中使用.; v: r8 W5 p+ z; d, {) o
//局部类中不能使用外部的非final的局部变量.全局的可以./ ^$ u" [, R! s% N1 ~8 I) @
{
6 ?: A7 s! v; r w( npublic void eat()
5 k3 y: O# q6 J{8 N8 U4 s& s3 M- m9 w
System.out.println(work);//ok6 M3 [1 r' Z& g' C
//age=20;error not final
4 F, W/ `0 k- _8 o3 w0 L! `System.out.println(name);//ok.; o. B% D9 U6 @- I7 p
}3 X+ i5 W K. w5 H& }: z" n+ v4 ?
}
) }# Z/ m. U5 s6 w: K) v+ J& ]2 tAnimal local = new Animal();
1 q% ]. u8 ?8 a5 Ilocal.eat();
4 ^: i" [! P( b, W5 s0 K}
2 e7 _# @9 X9 {# S- M. {0 I} |
|