面向对象程序设计(Java)期中考试题--计算机17

判断题:

1-1java语言中不用区分字母的大写小写 (F)(1分)

1-2在Java程序中,可以使用private来修饰一个类(T)(1分)

1-3接口中的方法默认是public abstract方法(T) (1分)

1-4一个类可以实现多个接口(T) (1分)

1-5异常也是一个对象(T) (1分)

1-6Java语言中,变量名可以用汉字表示(T) (1分)

1-7package语句必须放到java程序的最开始(T) (1分)

1-8StringBuffer类是线程安全的,StringBuilder类是线程不安全的(T) (1分)

1-9子类不继承父类的构造方法(T) (1分)

解析:子类可以调用父类的构造方法,但是不会继承方法。

1-10子类的构造方法必须显示调用父类的构造方法。(F)(1分)

解析:可以隐式调用父类的无参构造方法。

选择题:

2-1以下关于构造函数的描述错误的是()。 (1分)

  1. 构造函数的返回类型只能是void型。
  2. 构造函数是类的一种特殊函数,它的方法名必须与类名相同。
  3. 构造函数的主要作用是完成对类的对象的初始化工作。
  4. 一般在创建新对象时,系统会自动调用构造函数。

2-2下面哪个对类的声明是错误的? (1分)

  1. class MyClass extends MySuperClass1, MySupperClass2 {}
  2. public class MyClass{}
  3. abstract class MyClass implements YourInterface1, Youriterface2 {}
  4. private class MyClass {}
  5. class MyClass extends MySuperClass implements YourInterface {}

解析:java当中没有多继承,一个类只能有一个父类。

2-3下列不可作为java语言标识符的是()。(1分)

  1. a2
  2. $2
  3. _2
  4. 22

2-4下面声明数组的写法错误( )。 (1分)

  1. int a[ ];
  2. int[ ] a;
  3. int[3][ ] a;
  4. int[ ][3] a;

2-5下面哪单词是Java语言的关键字( )。 (1分)

  1. Float
  2. this
  3. string
  4. unsigned

解析:

一、保留关键字

数据类型:Boolean int long short byte float double char class interface

流程控制:if else do while for switch case default break continue return try catch finally

修饰符:public protected private final void static strictfp abstract transient synchronized volatile native

动作:package import throw throws extends implements this Super instanceof new

保留字:true false null goto const

二、访问修饰符:

访问修饰符: public , protected , private

2-6如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()。 (1分)

  1. FileInputStream
  2. FileOutputStream
  3. DataOutputStream
  4. FileWriter

2-7下面哪个流类属于面向字符的输入流( ) 。 (1分)

  1. BufferedWriter
  2. FileInputStream
  3. ObjectInputStream
  4. InputStreamReader

2-8以下代码的输出结果为( )。 (1分)

public class Pass{    
     static int j = 20;
     public void amethod(int x){
         x = x*2;
         j = j*2;
    }
    public static void main(String args[]){
        int i = 10;	   
        Pass p = new Pass();
        p.amethod(i);
        System.out.println(i+" and "+j); 
  }
}
  1. 错误:方法参数与变量不匹配
  2. 20 and 40
  3. 10 and 40
  4. 10 and 20

2-9下列哪个类的声明是正确的?( ) (1分)

  1. abstract final class HI{}
  2. abstract private move(){}
  3. protected private number;
  4. public abstract class Car{}

解析:abstract与final两个关键字一起来修饰一个类编译器会报错。

abstract是抽象类,他就是为了被继承用来修饰限制子类的属性和行为。

而final修饰的类是无法被继承的,因此这两个关键字本身就相互矛盾。

编译器显示:The class Main can be either abstract or final, not both。

2-10下面说法正确的是() (1分)

  1. 如果源代码中有package语句,则该语句必须放在代码的第一行
  2. 如果源代码中有import语句,则该语句必须放在在代码的第一行
  3. 如果源代码中有main方法,则该方法必须被放在代码的第一行
  4. 如果某文件的源代码中定义了一个public的接口,接口名和文件名可以不同

主观题:

8-2 System.arraycopy (5 分)

请解释System.arraycopy(a,2,b,3,4)的含义?

解析:

public static void arraycopy(Object src, int srcPos,Object dest,  int destPos, int length)
src 源数组
srcPos 源数组的复制起点index
dest 目标数组
destPos 目标数组的赋值起点index
length 从 原数组复制的元素个数

所以System.arraycopy(a,2,b,3,4)的含义是 从a 数组的 2下标位置开始复制4个元素放到b数组中(从b的下标为3开始赋值)
如果a的长度不够,则报错下标越界,如果b的长度不够,也报错下标越界

8-3 sdust-Java-Java程序为何能够跨平台? (8 分)

请说明为何Java程序能够实现跨平台?

解析:

java实现跨平台依靠java虚拟机,因为java程序是运行在java虚拟机上的,因此只要安装了java虚拟机的平台就能够运行java程序。

    原文作者:你倒是敲代码啊.
    原文地址: https://blog.csdn.net/qq_43446165/article/details/103380136
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞