第30章测试:Java super关键字
测试你对Java super关键字的掌握程度,包括调用父类构造方法、访问父类成员、super与this的区别等知识点
1
super关键字的主要作用是什么?
A. 创建父类的实例
B. 访问父类的成员(属性、方法、构造方法)
C. 定义抽象方法
D. 实现接口
2
在子类构造方法中使用super()调用父类构造方法时,以下哪个说法是正确的?
A. super()可以出现在构造方法的任意位置
B. super()必须是构造方法的第一条语句
C. super()可以在静态方法中使用
D. 一个构造方法中可以多次调用super()
3
以下代码中,哪个是正确使用super访问父类方法的示例?
A. super().method();
B. super.method();
C. super->method();
D. super::method();
4
当子类和父类有同名属性时,如何在子类中访问父类的属性?
A. parent.属性名
B. super.属性名
C. base.属性名
D. this.parent.属性名
5
super关键字与this关键字的主要区别是什么?
A. super访问父类成员,this访问当前类成员
B. super用于静态方法,this用于实例方法
C. super创建对象,this引用对象
D. 没有区别,可以互换使用
6
在以下哪种情况下不能使用super关键字?
B. 实例方法中
B. 静态方法中
C. 构造方法中
D. 重写方法中
7
如果父类没有无参构造方法,子类构造方法必须怎么做?
A. 不需要做任何特殊处理
B. 显式调用父类的有参构造方法
C. 创建父类的实例
D. 使用this()调用
8
在方法重写中使用super.methodName()的主要目的是什么?
A. 完全替换父类方法的功能
B. 在保留父类功能的基础上扩展新功能
C. 调用子类的其他方法
D. 创建父类对象
9
以下关于super()的说法,哪个是错误的?
A. 如果不显式调用super(),编译器会自动插入super()
B. super()可以与this()在同一个构造方法中使用
C. super()必须是构造方法的第一条语句
D. super()用于调用父类构造方法
10
在多层继承中,super关键字指向的是哪一层的父类?
A. 最顶层的父类
B. 直接父类
C. 所有父类
D. Object类
提交答案
📝 答案解析
返回章节内容
下一章:Java多态