第37章测试:Java内部类和嵌套类
测试你对Java内部类的掌握程度:成员内部类、静态嵌套类、局部内部类和匿名类
1
以下哪种内部类可以独立于外部类对象存在?
A: 成员内部类
B: 静态嵌套类
C: 局部内部类
D: 匿名类
2
成员内部类的特点是什么?
A: 只能访问外部类的静态成员
B: 可以访问外部类的所有成员,包括私有成员
C: 不持有外部类的引用
D: 可以定义静态方法
3
创建静态嵌套类对象的正确方式是?
A: OuterClass outer = new OuterClass(); OuterClass.NestedClass nested = outer.new NestedClass();
B: OuterClass.NestedClass nested = new OuterClass.NestedClass();
C: NestedClass nested = new NestedClass();
D: OuterClass.NestedClass nested = OuterClass.new NestedClass();
4
局部内部类可以访问哪些变量?
A: 只能访问外部类的成员变量
B: 只能访问final局部变量
C: 可以访问外部类成员和final(或事实上的final)局部变量
D: 可以访问所有局部变量
5
匿名类最适合用于以下哪种场景?
A: 复杂的业务逻辑实现
B: 简单的接口实现和事件处理
C: 需要多次重用的类
D: 需要继承多个类的情况
6
以下关于静态嵌套类的说法,哪个是正确的?
A: 静态嵌套类持有外部类的引用
B: 静态嵌套类可以访问外部类的实例成员
C: 静态嵌套类只能访问外部类的静态成员
D: 静态嵌套类不能定义静态方法
7
在成员内部类中,如何访问外部类的实例?
A: this
B: super
C: OuterClass.this
D: outer
8
以下哪种内部类可能导致内存泄漏?
A: 静态嵌套类
B: 成员内部类
C: 局部内部类
D: 以上都不会
9
建造者模式中通常使用哪种内部类?
A: 成员内部类
B: 静态嵌套类
C: 局部内部类
D: 匿名类
10
以下哪个是使用内部类的最佳实践?
A: 总是使用成员内部类
B: 不需要访问外部类实例时优先使用静态嵌套类
C: 复杂逻辑都用匿名类实现
D: 避免使用任何内部类
提交答案
答案解析
返回章节
下一章:Lambda表达式