版主
主题
帖子
积分10609
阅读权限200
注册时间2008-11-22
最后登录1970-1-1
在线时间 小时
|
package com.kenson;' B) `) d, W4 T* J: `
2 P2 [! K' `/ i6 ~
6 R1 g$ l7 n# k/ C
class Outer{, X' W! A& S; G; |& R0 N
private int a = 10;- ?) v1 a+ Y! [: G. S
int b = 100;& Z8 l9 N, v' q
/ D, k' K3 _- F3 n+ s3 s7 U
/ Q, a# D4 T# S0 j: q private String outerName = "outerName";9 w0 \& z. q7 m& b5 N q1 l p' g
% ?, O! Z* F$ c [. Q public static class StaticNetstedClass{
! n" Z7 a% L. V; @ public void print() {
2 m! N+ [# G8 G/ ~% c j. S* i; y' | // 通过实例访问,可以访问private变量
( l9 S) D: X! k3 f6 t$ w [/ \ System.out.println(new Outer().outerName);/ k! n/ l+ h% b" X
}, m, ^1 ^1 t% [. p) [* p, |: c2 f
}
1 b( x l6 P$ j; C1 @
" ]* U1 h& ]* k7 n8 y; ?0 y: e0 @ ; q# @0 R( S; ?3 F, }( S/ l. U9 o
//内部类
, |, O S. b. S. F class Inner{
1 l1 s' l2 w. E. H7 ^" {- e+ s7 M int c = 200;
, U, J; \% Z; T& y+ } . J S$ B; {' r* B+ R
class LocInner1{# {) v9 B' b3 d( e O; H* B7 a% }5 V
void Disp() {
! m0 i! B0 q! P [1 ]9 ], a7 } System.out.println("This is a LocInner1 Disp"); ! g% w7 q& C3 ^' M7 Y
}
% [/ N( D4 `4 l5 h, V& e' h7 x' t }
. @; s K$ d {8 k- P }! x" a7 s! d# H8 w$ J
/ V3 g( f" D. H) y //外部方法
5 c& n+ C `: K# n+ Y5 i4 F public void Display() {* E. e: F0 [( C/ \% @0 d- H
System.out.println("a=" + a);
H3 U+ S2 J9 Y$ V2 B! F+ h( F //局部内部类
a- r# R& Q' x& Q. {3 `/ l class LocalInner{
' i" |+ ~6 e) G String ln = "I am a Local Inner Class";$ K, Z6 t% P' M3 u; F* v" f: v
3 ]- d8 P' Z% k7 e4 r
void Disp() {0 d2 e" n5 S0 `0 p) x: ?0 }; T; @
System.out.println(ln);
% ^6 ~$ u4 b4 L# r7 L: n' s( i }
7 P; f7 ~9 a6 a }' l# _* x. u4 a. ~/ F
, R$ O) P* u; `: u: U
- W2 n! A$ F. M
LocalInner ln = new LocalInner();
1 e% i" a; l+ e7 K System.out.println(ln.ln);! J7 Z5 O" H% l) Z4 C1 U0 J
, S- i. l/ _8 @% R) r
//声明匿名对像6 @( @: G' [. R1 @
new LocalInner().Disp();1 y$ X" U- C7 Z
System.out.println(new Outer().a);
8 f: V4 c- x1 \, F# H* L( f }3 e' V6 n, g' b" M! i7 k" i6 t
9 P9 R" h u+ r+ ^$ j( h" C4 r}
, I# O4 ~2 _6 R1 O# U
# M* T. P1 D- M$ C3 r9 D7 ~+ x& {) y% W! D0 C7 Y" I d% I9 |: P, m3 P, B
& n7 k2 h# Z) @' o: U' u G
5 i- O+ @* J: ~, e( Y5 tpublic class HelloWorld {
0 `. H- K- U1 h- l
( i% T. d) x# F# p, A. o public static void main(String[] args) {0 o$ x) g- O0 c/ } {$ b: t
Outer outer = new Outer();
% A+ W- R1 N; N( Z4 [. m8 G System.out.println(outer.b);8 d4 P5 g" G2 G `+ V' Z
F1 J, Y7 ~" Q# l outer.Display();
7 ~) i, ~" b; E' ], D q! u . B& a# k& Y& U! H
Outer.Inner inner = outer.new Inner();$ l. @: b4 i6 V2 M) i5 n& r8 [
System.out.println(inner.c);; ~+ R$ z# s: _; ~- ]* O
% C8 p+ D( \* x" a' _% ^* { Outer.StaticNetstedClass staticClass = new Outer.StaticNetstedClass();* u3 Q4 W* e \' m/ F; Q+ r
staticClass.print();
1 [/ B1 c! F# f* T$ t ' f! Q/ ^$ b7 v2 T/ ~
1 @/ V, V. r& R; `- V' W' z: n }
( v9 F t+ w, r$ F( h
2 y, {1 R( X# F H0 t}, W9 K3 |+ i# q
3 k) Q$ x2 I+ H; y! m |
|