</p>输出结果:
$ O( @% D' P3 _4 J& Q" i% \3 g, I( lC:\>java test/OuterClass . J, N2 R4 w6 a
InterClass Create ; `: x, f6 m' P" T1 p' Q
OuterClass Create 3 L' B y; V& k- Q+ L- Z* Y
再一个例题: * O3 L+ U& k6 x. q3 i
public class OuterClass {
$ R/ x5 D) m' i( X. l2 rprivate double d1 = 1.0;
% z9 ?4 ]$ {1 s0 }//insert code here 1 w: ~. [+ g5 j+ m1 d% s
}
0 h' z7 |! F1 V1 C; A( dYou need to insert an inner class declaration at line 3. Which two inner class declarations are $ U$ @& f l5 t+ V0 {) a
valid?(Choose two.) ( v) H2 }- F% v. T2 e
A. class InnerOne{
3 u- j2 O4 I& D. y% T3 z4 l" Lpublic static double methoda() {return d1;}
% f5 W! d0 ]6 I/ y}
( | _- e4 y0 e- b7 ]7 |B. public class InnerOne{ ! Q* E! e+ ]% I* k
static double methoda() {return d1;}
: e; y- c8 ^7 H; Z1 `+ m' m}
1 X( o- j9 }6 L- c% lC. private class InnerOne{
$ j% v5 c ]/ B, Bdouble methoda() {return d1;}
9 t2 q+ r! |# x- ]3 i} " _4 O$ t# [+ A# s. a) ]' Y
D. static class InnerOne{
, ?- A$ A% V0 J" cprotected double methoda() {return d1;} + J' t h0 q2 L* j, r6 l5 Q
} 8 B# K! V# K2 ^5 ]
E. abstract class InnerOne{
( Q$ b2 Z5 r" E+ k$ b! I1 T2 [public abstract double methoda();
8 z% L, V. A7 [- s' B} ) F8 d3 j6 l+ ~6 Z9 J" [
说明如下: 1 b# P7 ^2 Q4 S0 T/ K
一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错
; }& k' T3 H8 u& j* v二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。 " e5 @2 j& w; r- Z4 y
9 v2 W- J" Q# e- t0 M故 D 错 ( Z* g H. [% N# a3 {) S
三.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确
- B5 t1 a. s# o" @% P0 C. q) ]四.答案为C、E * V! f: j, _2 o9 N: B
资料引用:http://www.knowsky.com/440455.html |