版主
主题
回帖0
积分10609
阅读权限200
注册时间2008-11-22
最后登录1970-1-1
在线时间 小时
|
package com.kenson;
) `# G. {* H1 H4 w# M9 j# B
; D, v) |8 `, s7 {- y6 J! @7 V( B$ \' S
class Outer{2 j0 Q" C4 d$ N& U
private int a = 10;1 G. f4 m( I$ M
int b = 100;. y! d: V6 ^5 a; m/ r/ f
% N5 n- Y" V7 a Y. s
/ w8 L8 I) ]# @; P private String outerName = "outerName";+ o* D+ n/ R4 |, n, p1 j
. B4 j$ i! S. {2 L/ u( d public static class StaticNetstedClass{! u. G4 e: w. y* ^: i
public void print() {4 v9 g( i4 w+ h# b, P0 [
// 通过实例访问,可以访问private变量
V6 r/ N6 ^0 u \* R6 y. } System.out.println(new Outer().outerName);
. d: ]4 [9 ~7 l, }1 C+ k! j }
6 _* T. V- @% F: ?0 } }
1 v* n' y9 p: q4 h8 }
( @5 X* s. i' E$ e% c. M3 f 4 x& @7 o3 h8 \. N6 @. d
//内部类8 H% k6 N2 ?7 v, |( e) q4 ]
class Inner{* H7 ?- [* Z* \/ U- F; Y |
int c = 200;
' @- h- ^: W* i) a; P 2 j" D* e9 ~% P: N# ]( U$ q$ `
class LocInner1{/ n5 N/ `' ^5 u
void Disp() {
7 b I+ L9 s8 q: i' C System.out.println("This is a LocInner1 Disp");
# X3 H" } F( p } 2 ]4 ^; L, {) E$ j: o6 S
}
: a* {$ Y2 w4 j+ V: | }. ?& r* D T C2 q) Y- h
! P1 ] R: n* W) n$ { //外部方法2 `8 M. B6 u+ V( P# H5 G2 @
public void Display() {
6 e& f e8 W; D3 [: f# j1 a System.out.println("a=" + a);8 y$ ~9 m1 U( |- C' b
//局部内部类
+ F/ d1 i5 b& ^' ] class LocalInner{
$ o% p H2 }# K, t, H& y" I! U( v String ln = "I am a Local Inner Class";7 s2 K `+ X3 z. s$ u
' x2 _( D# E6 |! _* ?: y: O: x9 a
void Disp() {$ }" T* ~/ A0 N. r. H% R
System.out.println(ln);
5 j0 T8 G/ H; E0 G+ |2 Z) w }# l0 I7 K3 r' h: Q
}
+ ^; k% M# b; F, @, ~* T
0 i+ a4 k3 v# U. v* S9 M* E) v* X+ N 7 v9 m6 E, J9 M
LocalInner ln = new LocalInner();
9 L# `& J5 t$ i( Y7 c6 b0 y System.out.println(ln.ln);0 m0 e! k5 H9 w; c ^; o0 {
0 ~4 c& Y* z$ ?9 G3 A6 W8 H- Y" N //声明匿名对像4 R6 l# i( q8 a; D6 S
new LocalInner().Disp(); S0 i6 [, f4 i3 S7 l
System.out.println(new Outer().a);4 y/ M: c8 |" }* f
}
! j4 k! i' C9 P; H% w- N( X, S ; }& x, X G$ T
}: B( f) j8 F: }7 z+ f- f
0 y7 v( ]! r, \$ M) R: o
+ L' J7 i' Z4 J6 I. ~. `$ k- d8 i) T3 \4 U4 Z+ k
- k' Y' [( k. E) ` _public class HelloWorld {
: e& z' k, |1 w4 s; P/ \7 a7 F: y5 c. N" Q3 r+ t# z
public static void main(String[] args) {
" [* \( ]2 Q9 Y! Y, z! W Outer outer = new Outer();) K# t) @) l0 \1 D
System.out.println(outer.b);9 P, G M( c' l0 t0 Q5 y
5 k' R) H4 j- t$ D( a outer.Display();, y$ y0 ^. _! z7 ?7 ]$ p" G, ?; ]
: L. M: X. z1 c4 J6 [
Outer.Inner inner = outer.new Inner();! d0 i. m' I3 Z- _2 R+ q8 j5 V
System.out.println(inner.c);% f+ H+ W$ K4 Q4 D
( T+ |$ X$ o! |3 K2 x" V# d& P
Outer.StaticNetstedClass staticClass = new Outer.StaticNetstedClass();
# Y. }" r4 \# \: o' w staticClass.print();
% a2 s/ u/ @. v+ X& W# X. s) [
2 D( o5 C( x: ^; G 7 ?! _# W1 X+ J8 ^
}
, S- h# w z- G" N7 w$ c ( p, @3 X% k6 J5 {
}
) ~0 C6 g2 C$ m6 w4 n6 B- O d; I. g
|
|