当前位置:首页 > mooc课程 java 期末考试试卷
class Aclass{ void go(){
System.out.println(“Aclass“); } }
public class Bclass extends Aclass{ void go{
System.out.println(“Bclass“); }
public static void main(String args[]){ Aclass a=new Aclass(); Aclass a1=new Bclass(); a.go(); a1.go(); }
以上程序运行结果是:
? ? ? ?
A、Aclass Aclass B、Bclass Bclass C、Aclass Bclass D、Bclass Aclass 我的答案:C
2
在Java中,以下关于方法重载和方法重定义描述正确的是?
? ? ? ?
A、方法重载和方法的重定义实现的功能相同
B、方法重载出现在父子关系中,方法重定义是在同一类中 C、方法重载的返回值类型必须一致,参数项必须不同 D、方法重定义的返回值类型必须相同或相容。
我的答案:C
3
方法的覆盖是在子类中再次实现超类中已经实现过的方法。 我的答案:√
4
在父类中声明为final的方法,也可以在其子类中被重新定义(覆盖)。 我的答案:×
5
可以用final说明变量为一个常量。 我的答案:√
6
被final修饰符修饰的类,不能被继承。 我的答案:√
7
最终类不能派生子类,但最终方法可以被覆盖。 我的答案:×
super关键字练习已完成
1
如果子类要初始化父类的类变量,调用super语句必须:
? ? ? ?
A、放在子类构造方法第一条语句 B、放在子类构造方法任何位置 C、可以采用初始化列表方式执行 D、可以调用this关键字 我的答案:A
2
This和super都可以用在main()方法中使用 我的答案:×
上转型对象练习已完成
1
考虑以下两个类:
public class UpByOne { private int num = 0; public int getNum ( ) { return num; }
public void setNum (int x) { num = x; }
public void up ( ) { num = num + 1; } }
public class UpByTwo extends UpByOne { public void up ( ) { // missing code goes here } }
在类UpByTwo中方法up 是重定义使得num加2. 以下那段代码最合适省掉的代码?
? ? ? ?
A、num = num + 2;
B、super.up();super.up(); C、setNum(getNum()) + 2; D、super.up() + 1; 我的答案:C 错误
2
下列哪个程序片段能正确编译执行?假设类BaseWidget是类TypeAWidget的父类,并且在类TypeAWidget中定义了方法speak().
? ? ? ?
A、Object A=new BaseWidget(); A.speak(); B、BaseWidget B=new TypeAWidget(); B.speak(); C、TypeAWidget C=new BaseWidget(); D、speak(); 我的答案:B
3
Java语言里的上转型对象也即是所谓的父类给子类对象赋值而已 我的答案:×
4
上转型对象可以调用子类中基类被覆盖的方法。 我的答案:×
错误
5
Java不允许上转型对象再重新给子类对象赋值。 我的答案:√
错误
6
上转型对象可以调用子类中新的方法。 我的答案:√
错误
抽象类练习已完成
共分享92篇相关文档