该用户从未签到
|
沙发
发表于 2015-04-04 11:28:55
|只看该作者
答案:不能访问局部的,可以访问成员变量(全局的)。$ H/ \6 b, w8 j r3 c
class Out) k8 K1 {% g) ? B1 p r: y& w
{
% z0 Y2 J* F. d8 k7 |# `5 [private String name = “out.name”;. x5 y) _0 c# V2 u' U( P
void print()
2 R* H1 f' f/ W9 W: T% \6 \$ q7 Z{) K. {) f9 Y: d8 p3 H8 j! X
final String work = “out.local.work”;//若不是final的则不能被Animal 使用.7 h2 R, |1 W7 r. t# |! e: a
int age=10;
& C: Y5 M3 R9 ~8 H J7 `class Animal. k0 t0 n. G, l, S) }: h
//定义一个局部内部类.只能在print()方法中使用.: S9 R* Z0 f( j, R% U! \
//局部类中不能使用外部的非final的局部变量.全局的可以.% h( L: m* B* I e
{0 \4 ]: g% n: j( S- M
public void eat()" O% v0 U' F1 N d0 j) `7 e( i
{
$ Y2 E6 r" t& D- g0 j6 ^3 ESystem.out.println(work);//ok! K e; V9 B% o$ k( J
//age=20;error not final9 I" K9 [) V4 l
System.out.println(name);//ok.
6 J, z$ |; a- }# e; d}
, D# a7 D$ h9 V' S+ g) Y}
+ q! k' a n4 T [Animal local = new Animal();0 M+ P) I0 J1 l2 `% L4 q4 z! w
local.eat();
! i9 P( g5 ]7 Z f1 r: `}
; y! n) }9 ^! B: Y0 R} |
|