版主
主题
帖子
积分10609
阅读权限200
注册时间2008-11-22
最后登录1970-1-1
在线时间 小时
|
package com.kenson; ~# y! t8 Y6 D! E& h
% _5 _# B. g" D6 L r
5 ^* }* w7 {0 C9 }3 T# W- G$ P2 iclass Outer{
; o' |, A$ b/ h, c9 l0 N private int a = 10;
* l" \5 \& u: g! y: }5 q ] int b = 100;
: H J1 y4 d% ^9 b
1 L; _$ l) ` X' N0 B, N
% v+ G# b$ K0 `* j private String outerName = "outerName";
1 [ ~# D" `6 g0 B0 Z, O
* f3 ]1 c9 J' Y public static class StaticNetstedClass{; e# M0 F: Z/ G' d$ ]" q6 N' q
public void print() {
3 a' w% s5 @! z' k7 j) F9 u // 通过实例访问,可以访问private变量
9 P& n* R6 ^5 w, N6 k9 s. X System.out.println(new Outer().outerName);! y, C4 H: Z5 n' h9 W; J" S0 E
}* \9 _( l) }1 q' a; ?
}
# x: l5 P4 O D3 f9 H
8 g0 ]2 a& `2 f, Y5 d% q/ m3 D5 I ' J1 N$ \4 y) \: ^
//内部类
# |- y4 x5 E: i3 [. |5 T; _; H class Inner{: P7 u% \% Y1 [, H/ s9 m
int c = 200;& N& w5 @- a1 |3 |) v
1 h& O+ G8 L; L# t/ h+ Y; i
class LocInner1{/ `! u9 t' l4 s4 Z+ A! r5 {
void Disp() {4 b0 V- a5 E3 ~9 j, U
System.out.println("This is a LocInner1 Disp");
) H: C" g- q' `) q: N }
/ N3 t) \- a: w) e! B: h5 Z" J }
9 |9 i2 B; ]3 G7 |; I }
2 p8 P' d% r* A. P$ A3 B ! X! @3 o$ E6 y; m: S
//外部方法$ A3 ]: U8 i" |" S' B! K
public void Display() {* A8 s& n& q( J& A3 u# N3 w
System.out.println("a=" + a);$ J4 a, e# |& c& D1 W T) c
//局部内部类* _, G/ z0 A* Z: J
class LocalInner{6 v' N* C2 Y9 d& e) y
String ln = "I am a Local Inner Class";
4 |; E7 X& t% M2 a # k% O1 b7 u8 `9 U- U$ J
void Disp() {
" D; t& l" C8 {+ @2 M1 U$ Q System.out.println(ln);. ^# r6 H& r- A6 Z0 e% K9 Z
}* i0 P3 j! [( _" ]& x; Q- r2 k" {& Z
}
' T7 i) D5 V4 ], j2 h 0 z9 R( |, Z( V/ [0 b5 r$ h$ L
, J! S) q: n' z" p6 S LocalInner ln = new LocalInner();( W4 [4 S$ r$ R( y
System.out.println(ln.ln);
) u7 j+ J) v6 K# l% q7 c e# |1 i
- z/ x( i y- w6 h //声明匿名对像! D6 R, ?8 z v& B: I% s3 ?) A2 e4 O
new LocalInner().Disp();3 | f7 X& w' X7 w' ]# Y7 D2 G9 T$ H
System.out.println(new Outer().a);' M1 m$ ?1 x4 y5 E2 O, H3 @
}
7 d( M- D' ?$ N; R ! ], ^5 c* u, c$ [) w6 Z/ A" @0 h6 ^% Y
}
" [' H' d6 I7 y0 P' i; I, P5 T5 l: P: o5 R; J* T8 x
+ `- \0 K! q! l2 `; j+ H
2 ~2 X3 v! w( m1 P8 n
" d- W" g( a8 c- t
public class HelloWorld {$ ^! d7 Z0 m7 p8 b1 J
2 w1 Y& V1 ]3 ?2 y1 u6 w/ e public static void main(String[] args) {
" j/ \$ E" G7 u8 I9 y Outer outer = new Outer();
( j/ Z, c. n y+ H0 q9 g System.out.println(outer.b);* k) q$ M( E2 v; D- K
9 ~: q \% @: } F4 @2 l+ F) a outer.Display();
9 {/ B+ e2 c1 {! ~ # N! c5 l. ~6 E% N. P. u# L
Outer.Inner inner = outer.new Inner();
. X+ s5 V2 W4 E% ]1 {) I* k System.out.println(inner.c);
0 O# c1 A# W( A* Y1 M6 K8 {- d
4 n6 r6 T0 |; q9 v Outer.StaticNetstedClass staticClass = new Outer.StaticNetstedClass();8 `" q# Q, K8 \/ Z0 f, U
staticClass.print();! C0 i6 S' ?; W3 V# ^0 n _
2 ?0 Z) P. g$ V! \( s$ l. J9 b
) y- ]% ?+ [1 \0 Y
}
* Y, ?* z5 {3 d% q; V
|8 g/ q, g+ r9 p/ p% P}
, t9 j) y+ N. v$ O' I) m
: e7 [# ?' N6 a, c6 k( A2 Z |
|