版主
主题
回帖0
积分10609
阅读权限200
注册时间2008-11-22
最后登录1970-1-1
在线时间 小时
|
package com.kenson;
7 P. n/ q8 e9 C5 z. d
9 h2 |8 W& O- q2 ^
6 i' `& k; b7 h; U6 B+ nclass Outer{
& p8 N+ X! T8 v1 M5 | private int a = 10;; k6 Y+ H( }" ~
int b = 100;9 @- A5 U; w. h
8 [# y- S' J8 J$ m& L
3 I0 G8 ?" M# E! E. ?3 F2 F! C private String outerName = "outerName";
1 P5 d( h2 J: o# w $ T0 A7 Q6 r# K' G
public static class StaticNetstedClass{4 \5 v: Y1 S- v5 O5 ~0 f$ h' h& G
public void print() {! a) h1 z; ]7 @1 b P) @& l: X: Q
// 通过实例访问,可以访问private变量
+ H- |$ S: [! |, d4 E, ?$ I System.out.println(new Outer().outerName);; m: I. J) N9 `7 q
}
# u- O4 W+ R2 U: m- b2 t0 n6 n }+ k8 Z' o3 C- j( ]) p' h& A7 G
/ N3 j8 w$ j. D- X- B
6 d0 x/ Q6 ~: \7 ?! S0 l
//内部类
. u0 @- a( j8 G/ ]2 m class Inner{
6 p+ U) `7 |, y& c) V1 B" c0 a int c = 200;- f. @1 v* r+ l0 O" Y
; ?4 a7 s1 W: i( K7 ^) L' X: n class LocInner1{
( K/ \; u. {' S a: P$ I: t$ q void Disp() {
: K* @5 E: N! M* v System.out.println("This is a LocInner1 Disp");
: k' q v& L7 [ } ' K3 f& j( l d! }" Y
} , D7 @ F ]! t" H$ c* _
}( o5 [ y: {# q( F
6 n# n0 D7 d0 [
//外部方法
+ r9 y' j" B7 A6 n public void Display() { @2 g2 e1 |3 t$ Y; v% [
System.out.println("a=" + a);
6 \0 t, N6 O f5 g! i //局部内部类
6 I8 h- Z. e6 j! ]- r, G class LocalInner{( r m: G- {. s% _5 Z
String ln = "I am a Local Inner Class";6 e1 _2 w: u0 }) x3 ]# T1 B
1 ? R5 x8 W" ]& K7 O; K
void Disp() {
% e/ e: ~! Y* j4 w System.out.println(ln);
+ x R; p" R9 Z5 q1 Y3 I* p/ b+ p }& e% Q$ ]6 \- k& n& k9 g
}! k9 W7 R1 E2 x- F
% ?, }$ o; ?& r$ ]+ B4 @
: x0 t8 h+ @& R, O( j
LocalInner ln = new LocalInner();
" V7 u) D0 v0 S+ q- B System.out.println(ln.ln);
' Z& g& f! S; ^5 r! U- |
! m5 w1 ?( A9 b% m //声明匿名对像! S" M0 q' W1 j0 ~4 W% l: s+ n1 g
new LocalInner().Disp();
; @; E& o" }6 a+ x System.out.println(new Outer().a);! ]9 s. a) M( {& |9 w& b
}) n# R+ V* R, s! f( t
+ X% t+ H8 B9 V u0 e! R' _
}6 K- R1 X' L7 x2 L
W5 a. u+ R) S" a0 ~5 t! X: a5 P0 K$ @( ^7 A& {3 ?" ^
1 N; `: ?; s: J4 h% D
, p5 j8 B# H* D; ?! }0 Y/ t! d' g
public class HelloWorld {( A4 H4 _: D, U q2 [3 s
E6 Q! a J, I. B9 p
public static void main(String[] args) {$ f. J& S/ E; m; I% Y
Outer outer = new Outer();
( r, X3 L% U; ?4 v) f System.out.println(outer.b);
* v4 s I6 \4 e) b4 t, M4 z9 W 1 L) u1 x. b2 |% G8 V
outer.Display();: y {7 U& R" R- u
( G, S. d; D$ ~7 Z, P Outer.Inner inner = outer.new Inner();
6 E+ j% t2 G" v7 t5 h System.out.println(inner.c);
G1 s* M$ Y# I' q# T
. E: r# I; z& o# G- K. F Outer.StaticNetstedClass staticClass = new Outer.StaticNetstedClass();5 Z" A6 g+ }! k( ]
staticClass.print();/ `- [4 j# ]4 L3 q: I
2 o e1 Q* F' \9 R, M5 |
+ U) ^& Y5 E9 Y& w; T. b- l }4 R- S V" H7 U# O. h1 c4 }
+ |- p7 F$ O4 _" `/ r* P
}: Y# F) m" q6 M& b
3 ` a4 y7 R4 V |
|