版主
主题
回帖0
积分10609
阅读权限200
注册时间2008-11-22
最后登录1970-1-1
在线时间 小时
|
package com.kenson;
4 q6 n, o1 l# u; u* M3 y- v3 Z4 e9 e" w; n1 Z1 f
# m( {' }; V+ Y6 i) N. Vclass Outer{
K, V3 F/ w) l& @8 P/ Z$ `- S9 x private int a = 10;) y3 f- S' a W/ [$ Q+ x5 k2 }6 f
int b = 100;% L+ X. h) {. j+ t' y1 B' O0 l
+ ~0 R" @( b0 \2 \
0 B2 P! g, G' a: j7 O& u# d9 m
private String outerName = "outerName";
$ Z/ C% |6 s* r- w, T7 f" E' h
+ M+ T' K7 U! O public static class StaticNetstedClass{% G4 e( f* f7 w) i
public void print() {
" Y6 |3 _1 B+ _+ O: p6 O; n+ @ // 通过实例访问,可以访问private变量
5 z. U# k" _: R4 G7 ?! R. [ System.out.println(new Outer().outerName);4 r( l6 v/ }+ T% ]' y/ S
}- t% I7 Y0 s) O) \
}4 ]- _$ |8 X" p5 \
+ f5 @7 ?' v# z
2 ~( |" |2 E( o: z9 g //内部类7 A/ d; k X, w! m: D1 S x
class Inner{' `, w3 F. K4 g# b9 d2 `
int c = 200;% A# o1 T. t8 c* k1 G! l) P$ K
f! n- ?; j" N: ` class LocInner1{
! l- ^9 B4 h+ @2 ? void Disp() {; L8 w+ s- m( ?% Z# T; }$ }
System.out.println("This is a LocInner1 Disp");
/ T: \6 |9 `. S7 R- i } 7 [/ Y$ @, a% r- q+ i0 Y
} ; R/ r) n) a. ] l H& a
}
, W+ y3 B! t5 A! E7 F( P# x 7 K, B" v5 W4 E: W8 z$ q/ [
//外部方法
* K( V; d8 C$ M public void Display() {! q1 D$ M, i# W8 M% b
System.out.println("a=" + a);
: H0 t7 {0 N5 l. r$ ]5 T( M3 r //局部内部类; x- J! }5 t/ E, J+ K- Z) P
class LocalInner{
& R* h! [6 N, F# q) m String ln = "I am a Local Inner Class";
+ i7 u3 Z$ m4 J8 x; w' R * M6 E, t% s1 P1 G' H
void Disp() {
, o/ e( c1 _# n, o& w/ r9 D System.out.println(ln);
+ M. t- m+ j* e) i3 z9 ]6 ~ }% _/ E1 |) J: k6 G6 {3 h4 [( D2 _
}
" I+ b. L2 q+ g9 u 2 M! n8 m" t F2 i
: ]* ?8 `4 P0 M- w2 b9 Z- i5 `7 o' A LocalInner ln = new LocalInner();) M# B1 p- O* A4 Z% f7 R/ N5 N; I
System.out.println(ln.ln);3 {" F; s% L+ c% |) w# n4 \
; ^$ I: h2 \* T$ C9 g1 X8 W' k2 l7 ^ //声明匿名对像
7 L1 l+ Z/ `8 J/ f* f new LocalInner().Disp();" s! i1 T2 T! y9 W; C9 k8 v
System.out.println(new Outer().a);
1 u) D$ r$ c2 b6 }0 M }
% C$ Z5 a% y8 b2 a g
1 A+ X4 W: R" k/ q' O3 B: l$ T3 l}/ |' s6 j5 ]. t6 J* r! o
3 j) ~% r8 z. T- I) t0 A
7 O. b- K& K7 Q; s0 i
( I* r, Z- U) r* g6 J. Q# ?; G$ O1 `4 q- V
public class HelloWorld {
' ], S3 ~! J, M) |3 X
2 I; A% N1 o! L1 v8 y. } public static void main(String[] args) { Y- n7 S8 P" m0 ~0 ~( Y
Outer outer = new Outer();2 X, M- ]1 N+ L
System.out.println(outer.b);
K G% S3 o6 o2 e$ u' |. N' ~ & W) w( T) Z/ q7 j3 \' H8 M* J
outer.Display();
; H4 c* q( R' d" I3 p/ ^0 I 8 {5 w" G ~( z% t
Outer.Inner inner = outer.new Inner();) ?4 W1 U! j& I, S
System.out.println(inner.c);
4 c7 ?1 ]4 y& b" i6 k5 p' f9 q Y' w6 O1 |/ u# I6 S: Q- m
Outer.StaticNetstedClass staticClass = new Outer.StaticNetstedClass();: P5 K( b( r! p9 T7 G0 O
staticClass.print();) d, A) ]" }: N' M
# F% U, D" t, r6 R5 a/ Z
1 K, Z( u# \$ W0 r- C" `# i4 L }
3 O8 u/ D8 C) q# v" r ! Y6 b% w" M I. v% K
}
, B. i3 f5 [0 |* ~5 i# V; |8 h: Y) u5 i
|
|