Java 第三次作业
一. 单选题(共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”,类声明必须使用合法的访问修饰符。
- 感谢你赐予我前进的力量