版主
主题
回帖0
积分10609
阅读权限200
注册时间2008-11-22
最后登录1970-1-1
在线时间 小时
|
package com.kenson;
: Z: Y0 [6 C/ T/ w% y" ` p' I/ n8 S8 y: M) \
3 p* G/ H/ U( C# A. [class Outer{
6 S5 S. U6 ~" R0 k D private int a = 10;5 b( N* }0 `6 N+ i; F
int b = 100;
- J) i \9 u/ `3 K0 L
) H; n- P" f* S0 K# D( f - [# c* U, m- a8 C, B8 c
private String outerName = "outerName";3 s* i" C5 K' w2 j
0 F2 P1 L# X3 u6 v
public static class StaticNetstedClass{, B% j' L4 ^' B) d8 l2 V' E
public void print() {- c* e" X3 [: O6 e9 w
// 通过实例访问,可以访问private变量
q5 e e+ T: W+ _: A: f' C* X System.out.println(new Outer().outerName);
( U# `" B* R5 s6 V8 f! ~. [, ^0 j }' O" E# v/ A4 h, b5 y6 n
}; y* `& u1 ]" D* _0 R/ M( }
; a9 U6 b$ I* F8 e/ V. K
# {9 J' R b3 Y, [9 J //内部类
1 T3 u. V4 N% {* f' w class Inner{2 W$ d/ \# v+ d
int c = 200;
+ }7 p7 t; [$ K1 x$ e& k- q 6 @9 B) V1 ^* Q0 z
class LocInner1{+ s, g2 a' l4 U' R+ O
void Disp() {5 z( p! ?' a' e3 K! P. k3 O* f3 K
System.out.println("This is a LocInner1 Disp"); ) w# ? J3 A+ d6 q! U* B: j
}
: f- E! C3 T. r9 Y) K% t9 z }
# B# p* c, N# U9 n. k* w }; H' c/ Y8 z. x- m: G: B
$ y+ \( _" L% k( ~* P8 Z //外部方法& l2 C' H0 h8 F0 S
public void Display() {% }. ~$ i3 j# l1 E2 r7 _
System.out.println("a=" + a);- @+ H3 R& E- U/ H9 B. t- Q
//局部内部类
. j1 \6 b- B+ ?0 s3 u6 q) m class LocalInner{
$ @0 \' ]: i3 p8 `# @5 { String ln = "I am a Local Inner Class";
6 @$ A) r- ~! W- i, x# w & o5 x1 p$ H4 N+ o
void Disp() {
3 p7 W. q2 j8 M8 F, v z System.out.println(ln);
6 n5 o- f* C6 [. I- G% _0 L }8 y$ r1 Q/ y, R \4 e# L+ ]
}4 i( p# C3 o; ?4 p' M+ G0 @4 n" A
Z) u. [% }- V) s - j0 ~) x* [* ]( U: Q, y
LocalInner ln = new LocalInner();; {' v u. w6 D
System.out.println(ln.ln);
4 E# d) E" i7 T! {3 B 4 R) K: g; N! n- |' |
//声明匿名对像/ @* |9 h5 {* F# I2 m
new LocalInner().Disp();( B4 ?) Q( n( e3 L! m- L% P
System.out.println(new Outer().a);
* W2 q( x, [ J7 P }, } C( Z! }9 P9 e% k
( x8 S) W. Y; ~) _2 k) {* c}
. q h" Y7 Z M9 D1 ~
) w% L% a- C' q5 Q
/ q% _6 W$ K P1 Q W$ C+ @
% }# T0 T- l9 B* o# F$ e; @# t- c
( k; f) _+ @8 F9 w7 Q$ ]8 C0 ~, m$ spublic class HelloWorld {) T1 u, K, U! r9 S" d* f
, t6 n) M' K9 I V# y public static void main(String[] args) {
, U/ o* D; @, z) ^2 y Outer outer = new Outer();/ f0 M& t; _, \3 { l* l
System.out.println(outer.b);2 u! n, ^; C) G0 C6 h' a; ]
$ R0 x+ I1 g" y0 _6 c1 Z
outer.Display();
: c' a4 n9 u6 e
2 H1 p+ i5 K8 `2 G( a Outer.Inner inner = outer.new Inner();
! f h( N$ W! t: o% q( s( R) Y, { System.out.println(inner.c);
& J9 m+ m5 k9 j2 T O6 E8 D- L 6 G' v- D7 D% G( C- y p
Outer.StaticNetstedClass staticClass = new Outer.StaticNetstedClass();
% `( O& S0 J8 b% m staticClass.print();
6 _0 ]2 D; `9 v4 G
0 h+ J7 S+ R4 J. T
* m% L g( R7 ?) r" V# Q6 L6 ] } H0 |, E3 E# y6 i1 A; @! ~
2 b7 _+ M3 [! u8 D( B7 G. I
}
1 \2 F8 ^% J p# p" e, c$ V2 y$ |' F6 T
|
|