考试类型:一纸闭卷(  );完全闭卷( √ );开卷(  )
浙江外国语学院
2015~2016 学年第2学期期中测试试卷
课程名称面向对象程序设计课程编号3040800006试卷类型 A
学    院  科学技术学院    班  级           
姓    名              学  号               
题号
总分
得分
评卷人
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1. 关于对象成员占用内存说法正确的是(    )
A.同一个类的对象共用一段内存
B.同一个类的对象使用不同一段内存,但静态成员共享相同的内存空间
C.对象的方法不占用内存          D.以上都不对
2.关于方法的说法正确的是(    )
A.方法中的形参可以和方法所属类的属性相同
B.方法必须有形参
C.同类不同的方法中不能有同名的自变量,否则会产生不可预测的结果
D.没有返回值的方法可以用void来表示,也可以不加
3. 类Test1定义如下:
1.public class Test1{
2. public float aMethod(float a, float b){  }
3.                                    
4.}
将以下方法插入行3不合法的是(    )
A.public float aMethod(float a,float b,float c){  }
B. public float aMethod(float c,float d){  }
C. public int aMethod(int a,int b){  }
D. private float aMethod(int a,int b,int c){  }
4.构造函数被调用于(    )
A.创建对象时              B.类定义时   
C.使用对象的方法时        D.使用对象的属性时
5.下面说法正确是(    )
A.每个Java类都至少有一个构造方法,如果没有则机器自动生成一个默认的构造方法。
B. 如果类里定义了一个或多个构造方法,Java也提供默认的构造方法。
C. 每个Java类中用户必须定义至少一个构造方法
D. 以上都不对
6.关于继承的说法正确是的(    )
A.子类将继承父类所有的属性和方法   
B.子类继承父类的非私有属性和方法
C.子类只能继承父类public方法和属性   
D.子类只能继承父类的方法,而不能继承属性
7.下列说法正确的是(    )
A. 子类只能覆盖父类的方法,而不能重载   
B. 子类只能重载父类的方法,而不能覆盖
C. 子类不能定义和父类同名同形参的方法,否则系统将不知道使用哪个方法
D. 重载就是一个类中有多个同名但有不同形参或方法体的方法
8.this和super(    )
A. 都可以用在main(  )方法中    B.指向一个内存地址
C.不能用在main( )方法中     D.意义相同
9.下列关于修饰符混用说法中,错误的是(    )。
A.abstract 不能与final并列修饰同一个类   
B. abstract类中不可以有private的成员
C. abstract方法必须在abstract类和接口中           
D.static方法中能处理非static的属性
10.所谓方法重载,就是在类中创建了多个方法,它们具有相同的名称(    )。
A.有不同的参数个数或不同的参数数据类型
B.有不同返回类型
C.有不同的参数名称
D.有不同的方法体
11.以下程序段的哪行有错误(    )。
1 import java.Applet.*;
2 import java.awt.*;
3class Chengji{
4protected float f(float x,float y){
5  return x*y;
6}
7}
8class Xiangjia extends Chengji{
9private float f(float x,float y){
10return x+y;
11}
12}
A. 8行      B.  9行     C. 4行          D. 10行
12.下列说法正确的是(      )
A. package语句作为Java源文件的第一个语句
B.import语句作为Java源文件的第一个语句
C.package语句作为Java源文件的类中的一条语句
D.import语句作为Java源文件的类中的一条语句
13.下列说法正确的是(      )。
A.编译后的Java的源程序根据文件中定义的类和接口的个数产生的相应个数的.class字节码
B.Java语言的源文件中不是任何地方都可以加注释的
C.一个文件中可以有多个访问权限为public的类
D.含有main()方法的类可以定义为public类,也可以为其他类
14.下列有关抽象类的说法正确的是(    )。
A. 抽象类中必须包含抽象方法            B.抽象类不能实例化
C.抽象类不一定被继承                  D.用interface定义抽象类
15.下列循环的循环体是(    ):
  while (int i<7)  ;
{ i++;
  System.out.println(i is +i);
}
A.{ i++;  System.out.println(i is +i);  }
B. i++;                                 
C. ;
D.  System.out.println(i is +i);
java接口有没有构造方法
评卷人
二.判断题(本大题共15小题每小题115( 正确的打√, 错误的打×)
1.有的类定义时可以不定义构造函数,所以构造函数不是必需的。        (  ×  )
2.一个类可以生成多个对象,并且这些对象都具有相同的属性。            (    )
3.使用静态属性必须以类名作为前缀。          (  ×  )
4.由继承性可知,程序中子类拥有的成员数目一定大于或等于父类拥有的成员数目。( × )
5.如果q是父类Parent的对象,而c是子类Child的对象,则语句q=c是正确的。(   )
6.重载和覆盖是一回事。                            ( ×
7.子类要调用父类的方法,必须使用super关键字。    ( √ )
8.与未加访问控制符的缺省情况相比,public和protected修饰符扩大了类及其属性和方法的被访问范围,private修饰符则缩小了这种范围。                (
9.抽象方法必须在抽象类中,所有抽象类中的方法都必须是抽象方法。  (  ×  )
10.最终类不能派生子类,最终方法不能被覆盖。        (    )
11.一个类如果实现了某个接口,那么它必须覆盖该接口中的所有方法。    ( )
12.当子类继承某个抽象类时,如果没有将全部的抽象方法重写,则它仍然是一个抽象类,声明时必须要用abstract修饰。      (    )
13.在Java程序设计语言中,“方法和函数”是与类分不开的,每一个方法必定属于某一个类。            ( )
14. Java程序中,创建新的类对象用关键字new。( )
15.  构造函数没有返回值类型,所以是void。( ×
评卷人
读程序,按要求填空本大题共5小题,每小题 4+4+9+4+4分,共25分.
1.  面这段程序的功能是:                                
import java.io.*;
public class Reverse
{
public static void main(String args[])
  {
  int i ,n=10;
  int a[ ]=new int [10];
  for (i=0;i<n;i++)
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
a[i]=Integer.adline());  //输入一个整数
}catch (IOException e){ } ;
for(i=n-1;i>=0;i--)
System.out.print(a[i]+”#”);
System.out.println();
}
}
2. 下列程序函数调用顺序是:(写函数名,从进入到返回到结束都要写)    main、fac、sumf、jiechen、sumf、main.  , 程序的功能是              ,执行结果是                           
public class Fac {
  Fac(){}
   
    public long sumf(int x){
        long s=0;
        for(int j=1;j<=x;j++)
        s=s+jiechen(j);
        return s;
    }
    public long jiechen(int i){
        long f=1;
        for(int j=1;j<=i;j++){
            f=f*j;
        }
        return f;
    }
  public static void main(String args[]){
      Fac f=new Fac();
      System.out.print("1!+2!+3!="+f.sumf(3));
  }
}
3、下面是父类Employee和子类Boss的定义,根据程序内容在下划线①到⑨上填空。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。