《面向对象程序设计(Java)》单元测试2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计(Java)》单元测试2
姓名_________学号___________
一、填空与选择
1、下面程序的输出结果是:
public class ArrayTest {
public static void main (String[] args) {
String[] sa = { "Green", "Blue", "Red" };
System.out.println("Color = " + sa[1]);
}
}
2、以下语句不能通过编译的是((7))。
A. int[] a={1,2,3,4};
B. int b[];
C. int c[]=new int[3];
D. int d=new int[];
3、(在同一包中)子类不能继承父类中的成员,除此之外,其它所有的成员都可以通过继承变为子类的成员。
4、给出如下的程序,A-E选项中与构造方法ConstOver重载的两个构造方法
是:。
.public class ConstOver {
public ConstOver (int x, int y, int z) { }
}
A.ConstOver ( ) { }
B.Protected int ConstOver ( ) { }
C.Private ConstOver (int z, int y, byte x) { }
D.public Object ConstOver (int x, int y, int z) { }
E.public void ConstOver (byte x, byte y, byte z) { }
5、对于下面的两个类,BaseClass是SubCalss的,A-E选项中的(2个)
是BaseClass类getVar ( )方法的覆盖方法。
class BaseClass {
private float x = 1.0f ;
protected float getVar ( ) ( return x;)
}
class Subclass extends BaseClass {
private float x = 2.0f;
。。。。。。。。。
}
A.float getVar ( ) { return x;}
B.public float getVar ( ) { return x;}
C.float double getVar ( ) { return x;}
D.protected float getVar ( ) { return x;}
E.p ublic float getV ar (float f ) { return f;}
6、已知类关系如下:
class Employee;
class Manager extends Employeer;
class Director extends Employee;
则以下关于数据的语句正确的是:((15))。
A. Employee e=new Manager();
B. Director d=new Manager();
C. Director d=new Employee();
D. Manager m=new Director();
7、()下面对类的申明哪个是正确的?
A)public class Fred {
public int x = 0;
public Fred (int x) {
this.x = x;
}
}
B)public class fred
public int x = 0;
public fred (int x) {
this.x = x;
}
}
C)public class Fred extends MyBaseClass, MyOtherBaseClass {
public int x = 0;
public Fred (int xval) {
x = xval;
}
}
D)protected class Fred {
private int x = 0;
private Fred (int xval) {
x = xval;
}
8、()下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果。
class ClassDemo {
public static int sum=1;
public ClassDemo()
{sum=sum+5;}
}
class ClassDemoTest{
public static void main(String args[]) {
ClassDemo demo1=new ClassDemo();
ClassDemo demo2=new ClassDemo();
System.out.println(demo1.sum);
}
}
A) 0 B) 6 C) 11 D) 2
9、()下面哪个不是获得多态性技术的条件。
A)对派生类对象方法的调用必须通过基类类型的变量
B)被调用的方法必须也是基类的成员
C)在基类与派生类中这个方法的返回类型必须相同
D)在基类中必须实现被调用的方法
10、( )下面代码定义的接口中,方法MyMethod()的修饰属性为:
interface InterfaceDemo {
int MyMethod();
}
A) friendly B) public abstract C) public static abstract D)protected
11、抽象类和接口使用
interface Runner{public void run();}
interface Swimmer{public double swim();}
abstract class Animal{abstract public int eat();}
class Person extends Animal implements Runner,Swimmer{
public void run(){System.out.println("run!");}
public double swim(){int speed=20;return speed;}
public int eat(){return 3;}
}
public class Test{
public static void main(String args[]){
Test t=new Test();
Person p=new Person();
t.m1(p);
t.m2(p);
t.m3(p);
}
public void m1(Runner f){f.run();}
public void m2(Swimmer s){System.out.println(s.swim());}
public void m3(Animal a){System.out.println(a.eat());}