JavaSE day01【复习回顾面向对象基础、继承、抽象类】测评
选择题
题目1(单选):
下列关于Java中类与类之间的关系描述正确的是( )
选项 :
A. Java中类与类属于多继承 , 还可以多层继承
B. Java中类与类属于实现关系 , 可以单实现也可以多实现
C. Java中类与类属于实现关系 , 可以只能单实现
D. Java中类与类属于单继承 , 还可以多层继承
题目2(单选):
下列关于继承中成员变量访问的特点是( )
选项 :
A. 继承中如果局变变量和成员变量名字相同无法进行区分
B. 继承中成员变量先看父类 , 父类不存在在找子类
C. 继承中成员变量属于就近原则
D. 父类中的私有变量子类没有任何方式可以获取
题目3(单选):
下列关于继承中成员方法访问的特点是( )
选项 :
A. 继承中子类可以使用父类所有权限的方法
B. 继承中子类和父类出现了同名方法 , 优先使用父类的
C. 继承中子类和父类出现了同名方法 , 可以使用this和super进行区分
D. 以上选项都是错误的
题目4(单选):
**下列关于继承中构造方法访问的特点错误的是( ) **
选项 :
A. 每一个构造方法中都会存在一个super() , 去访问父类的无参构造 (不考虑Object类)
B. 构造方法中this(...) 和 super(...) 不能同时存在
C. this(...) 和 super(...) 都需要放在构造方法中第一行有效语句的位置
D. this() 可以在成员方法中使用
题目5(单选):
下列关于方法重写说法正确的是 ( )
选项 :
A. 子类重写父类的方法,必须是方法名,参数列表,返回值类型一模一样
B. 任何权限的方法子类都可以重写
C. 重写方法权限必须大于父类的方法的权限
D. @Override是放在重写后的方法上,作为重写是否正确的校验注解
题目6(多选):
下列关于this和super说法正确的是 ( )
选项 :
A. this代表的是本类对象的引用
B. super代表的是父类数据存储空间(可以看做成父类的对象使用)
C. this和super可以调用成员变量 , 成员方法 , 构造方法
D. this和super用来区分子父类成员
题目7(单选):
下列关于抽象类说法正确的是( )
选项 :
A. 抽象类中必然存在抽象方法
B. 抽象方法必须存在抽象类中
C. 抽象类的子类必须重写抽象类中所有的抽象方法
D. 抽象类也是类,可以进行创建对象
题目8(单选):
下列关于抽象类说法错误的是( )
选项 :
A. 抽象类中的抽象方法是让子类必须完成某些功能
B. 抽象类中的非抽象方法是让子类继承,提高代码的复用性
C. 抽象类中可以有抽象方法,也可以有非抽象方法,但是抽象方法必须存在抽象类中
D. 抽象类不能实例化,不能有子类
题目9(单选):
查看下列代码 , 选出程序正确的执行结果( )
public class Test {
public static void main(String[] args) {
new Zi(10);
}
}
class Fu {
public Fu() {
System.out.println("父类空参构造");
}
public Fu(int a) {
this();
System.out.println("父类有参构造");
}
}
class Zi extends Fu {
public Zi() {
super(10);
System.out.println("子类空参构造");
}
public Zi(int a) {
this();
System.out.println("子类有参构造");
}
}
选项 :
A.
父类空参构造
父类有参构造
子类空参构造
子类有参构造
B.
父类空参构造
父类有参构造
子类有参构造
子类空参构造
C.
父类有参构造
父类空参构造
子类空参构造
子类有参构造
D.
子类有参构造
子类空参构造
父类空参构造
父类有参构造
题目10(单选):
查看下列代码 , 选出程序正确的执行结果( )
class Father {
int num = 30;
}
class Son extends Father {
int num = 20;
public void show() {
int num = 10;
System.out.println(位置1); // 打印10
System.out.println(位置2); // 打印20
System.out.println(位置3); // 打印30
}
}
选项 :
A. 位置1: num 位置2: this.num 位置3: super.num
B. 位置1: num 位置2: this.num 位置3: this.this.num
C. 位置1: this.num 位置2: num 位置3: super.num
D. 位置1: num 位置2: super.num 位置3: this.num