一. 单选题(共5题,100分)

1. (单选题, 20分)下列哪个叙述是正确的?

  • A. Java应用程序由若干个类所构成,这些类必须在一个源文件中。

  • B. Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。

  • C. Java源文件必须含有主类。

  • D. Java源文件如果含有主类,主类必须是public类。

正确答案: B:本题考查Java编程基础。Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。

2. (单选题, 20分)下列哪个叙述是正确的?

  • A. 成员变量的名字不可以和局部变量的相同

  • B. 方法的参数的名字可以和方法中声明的局部变量的名字相同

  • C. 成员变量没有默认值

  • D. 局部变量没有默认值

正确答案: D:局部变量没有默认值

解析:本题考查Java基本语法相关知识点。A选项中,成员变量可以和局部变量相同,但是局部变量会屏蔽成员变量。B,方法的参数的名字不可以和方法中声明的局部变量的名字相同。C,成员变量有默认值,可以通过访问器读取。

3. (单选题, 20分)对于下列Hello类,哪个叙述是正确的?

class Hello { 
    Hello(int m){ 
     } 
    int Hello() { 
    return 20; 
    } 
    hello() { 
    } 
}
  • A. Hello类有2个构造方法

  • B. Hello类的int Hello()方法是错误的方法

  • C. Hello类没有构造方法

  • D. Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)

正确答案: D:Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有返回类型)

解析:本题考查Java主要成员方法。A、C,Hello类有一个构造方法。B,Hello类的int Hello()方法没有错误。

4. (单选题, 20分)对于下列Dog类,哪个叙述是错误的? class Dog { Dog(int m){ } Dog(double m){ } int Dog(int m){ return 23; } void Dog(double m){ } }

  • A. Dog(int m)与Dog(double m)互为重载的构造方法

  • B. int Dog(int m)与void Dog(double m)互为重载的非构造方法

  • C. Dog类只有两个构造方法,而且没有无参数的构造方法

  • D. Dog类有3个构造方法

正确答案: D:Dog类有3个构造方法

解析:本题考查构造方法的重载。在Java中,构造方法必须与类名相同,可以有参数,也可以没有参数,但不可以有有返回值。当一个类中有多个方法同名时,为了避免相互覆盖,Java语言规定:方法的参数必须不同,返回值类型可以相同。如果只有返回值不同,这些方法就互为重载的方法。

5. (单选题, 20分)下列哪些类声明是错误的?

  • A. class A

  • B. public class A

  • C. private class A

正确答案: C:private class A

解析:不合法的访问修饰符“private”,类声明必须使用合法的访问修饰符。