第四周课堂测试
1、下列说法正确的是(ACD)
A .使用extends关键字定义一个类的子类。
B .Java与C++类似,支持多继承,即子类可以有一个或多个父类。
C .Object是所有类的祖先类。
D .如果子类继承父类的成员变量作为自己的一个成员变量,则该成员变量可以被子类中自己定义的任何实例方法操作。
2、下列说法错误的是(AD)
A .继承的成员变量或方法的访问权限可以由子类重新定义。
B .若子类和父类不在同一包,子类只继承父类中的protected和public访问权限的方法作为子类的方法。
C .继承关系的UML类图用一个实线连接两个类,起始端是子类,重点端是父类,终点端使用空心三角形表示实线的结束。
D .如果在类本身创建一个对象,则该对象不可以通过“.”运算符访问继承的protected变量。
3、如果子类和父类不在同一包中,子类不继承父类的友好成员变量。(A)
A .true
B .false
4、instanceof主要用来判断一个类是否实现了某个接口,或者判断一个实例对象是否属于一个类。(A)
A .true
B .false
5、下列关于Override的说法,正确的是(ABC)
A .子类所声明的成员变量的名字和从父类继承来的成员变量名字相同但类型不同时,子类会隐藏所继承的成员变量。
B .除了继承的方法之外,子类新定义的方法可以操作子类继承的成员变量。
C .子类重写的方法,方法名字、参数个数、参数类型和父类的方法完全相同。
D .重写方法可以操作被子类隐藏的成员变量和方法。
6、子类在重写可以继承的方法时,可以完全按照自己的意图编写新的方法体。重写方法的类型可以是父类方法类型的子类型,不必完全一致。(A)
A .true
B .false
7、某方法在父类的访问权限是public,则子类重写时级别可以是(B)protected。
A .true
B .false
8、下列关于super关键字的说法,正确的是(ACD)
A .如果在子类中想使用被子类隐藏的成员变量或方法,就需要使用关键字super。
B .课本P123代码Example5_7.java中,Average类g()方法里“c=super.f()”调用的是Average类的float f()。
C .子类的构造方法如果没有明显地指明使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法。
D .P124的程序Example5_8,如果UniverStudent子类地构造方法中省略super,则程序默认执行Student类的super()。
9、下列关于final关键字的说法,正确的是(ABCD)
A .final类不能被继承。
B .String类为final类。
C .父类的final方法子类不能重写。
D .final修饰的变量不允许被再次赋值。
10、对象的上转型对象再强制转换为一个子类对象时,该子类对象又具备了子类所有的属性和功能。(A)
A .true
B .false
11、下列说法正确的是(C)
A .父类创建的对象的引用可以赋值给子类声明的对象。
B .上转型对象不能访问子类隐藏的成员变量。
C .上转型对象不能操作子类新增的成员变量。
D .子类对象的上转型对象可以调用子类重写的静态方法。
12、父类中有个public void fight(),子类中有个public void fight( Weapon w),这两个方法的关系是Override.(B)
A .true
B .false
13、public void someMethod(int i)和public int someMethod()是方法重载。(A)
A .true
B .false
14、继承是指父类的某个方法被其