版主
  
主题
帖子
积分10609
阅读权限200
注册时间2008-11-22
最后登录1970-1-1
在线时间 小时
|
package com.kenson;* q) `3 r3 |4 m4 q V/ x2 \( O
- W& e9 T, ]6 R, W E
: C1 X+ T* R5 \class Outer{% L: n. _9 w" R, L
private int a = 10;8 E. T+ O$ V2 t4 o
int b = 100;
5 T% d) @6 u7 ~0 x
* J! l* ~$ a7 |6 i ! Z+ u2 x2 |- }: T" H
private String outerName = "outerName";; I5 l: _6 B6 s$ z' Z' K+ |
7 V3 J& o8 t4 c& X# `$ D5 E
public static class StaticNetstedClass{% q+ x9 o! j6 r- x2 k' d! |/ T
public void print() {1 O0 J" u( U, V5 w F4 X1 {
// 通过实例访问,可以访问private变量2 ]% Y o, {* U. u6 K4 d7 } v- h |& I
System.out.println(new Outer().outerName);
6 B% c# m. n( a. R3 X9 m) Y& W }
1 G2 ?) }' N8 w+ h) x8 X }
- h, \8 o& m: H: M7 g
' n+ W# }0 C3 a# W: ~
7 b2 P r, ^3 V3 f //内部类
" M" `1 _& k+ @" s( l0 g. E! C1 K' d class Inner{
* y& U1 ` ?" b% X! q int c = 200;
/ B# W) d9 ]' a6 B2 q
1 l7 m. z/ S- ]7 V! I4 ~ class LocInner1{
- }" D8 q" A8 z% h5 V, @2 z1 f void Disp() {5 v7 @: {. e5 }3 d! O, R+ h
System.out.println("This is a LocInner1 Disp"); " u3 \* E8 D( c/ o. v9 S; G
}
8 B: b# x" B% r3 V# A4 C( c, | }
0 d( e* l! v, `$ O6 |9 ^ W7 D }
1 \+ n$ c6 Y& W
+ b1 a. v2 G% W //外部方法
. u* R: W# g A. n public void Display() {# F, ?! t# F, g
System.out.println("a=" + a);: D0 s2 H1 m) ?
//局部内部类! j! N! l* z1 X, ?6 l3 J2 }
class LocalInner{
6 {0 M0 ?9 k O W) x String ln = "I am a Local Inner Class";
+ r1 D6 `/ c: Z# [# m/ @
( r$ p+ T: k+ v0 n/ o void Disp() {- n0 M/ e; G; J
System.out.println(ln);1 i& q: R; S+ h
}% ]" s! h# t0 I; d
}; i: H3 v+ ]9 S; o% N
6 @1 s, G% n- s. J, _' b
% k$ [) }& S U s8 b; I5 Y
LocalInner ln = new LocalInner();
# c3 X ?' |4 w4 M System.out.println(ln.ln);
" S2 `( Z* s$ _# S( j# [4 T, @# q ( Y+ K" z5 |8 z8 P# d( a; _
//声明匿名对像4 t" i5 @" c; c& s( o( p
new LocalInner().Disp();
* u# A# m, D4 t x. `+ P) ]+ P8 p4 Z System.out.println(new Outer().a);
T; U( G( \! {4 L9 d! L }
, @+ L _* M b $ F: m/ H# |# `( h: t
}6 c# @! n0 c4 D3 p" ]/ R# s: v
. d. E( }5 `( s0 W
8 X+ ]' z- A9 q3 e/ `: x' N2 b+ q% V* U" \9 V
: G2 K5 V% B6 T4 V+ q6 Tpublic class HelloWorld {
9 ]7 l0 P7 J X7 |6 S1 R
2 j3 J. B+ W: S# K1 m- ? public static void main(String[] args) {
& [0 C. `6 {/ Q$ q u( o. s8 d Outer outer = new Outer();
& E( v' l: `* i5 F3 Q3 N% F System.out.println(outer.b);6 _3 P7 j9 K7 T
" b( o+ G9 k: u6 n: p, a. ^
outer.Display();$ J, c: L% _% t3 t
5 J% @* Q' v# d# @. M: _) H" A Outer.Inner inner = outer.new Inner();
% T/ c! B# r/ W5 ]' e System.out.println(inner.c);
: f" ~# @: x+ s& Q
( G' k% y: C' K9 |# d: } Outer.StaticNetstedClass staticClass = new Outer.StaticNetstedClass();3 x( y) l5 G! i( j1 H
staticClass.print();. D H, k9 u+ _- U
) [( R& a/ h4 x7 E
" A! v- v: b; T8 U& x0 u7 v! x }! O& G; Q" | m8 i M* |
# F+ _9 O, y/ o0 {) j0 e
}
7 ?7 }% w3 `- B
! K* m( H: Z9 p2 V, j A, o |
|