1. 设 x、 y为已定义的类名,下列声明x类的对象x1的语句中正确的是( )。 [单选题] *
static x x1; |
public x x1=new x(int 123); |
y x1; |
x x1=new x( );(正确答案) |
2. 类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面的哪些修饰符获得需要的访问控制?
[单选题] *
public |
不加修饰符 |
protected |
private(正确答案) |
3. 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()
[单选题] *
static void method( )(正确答案) |
public void method( ) |
final void method( ) |
abstract void method( ) |
4. 关于类和对象的叙述正确的是:( )
[单选题] *
Java的类分为两大部分:系统定义的类和用户自定义的类(正确答案) |
类的静态属性和全局变量的概念完全一样,只是表达形式不同 |
类的成员至少有一个属性和一个方法 |
类是对象的实例化 |
5. 关于对象成员占用内存的说法哪个正确? ( )
[单选题] *
同一个类的对象共用同一段内存 |
同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间(正确答案) |
对象的方法不占用内存 |
以上都不对属性必须是简单变量 |
6. 下列哪个叙述是正确的?
[单选题] *
类体中必须先声明成员变量,然后再定义方法。 |
类体中成员变量的声明和方法的定义可以交叉进行(正确答案) |
类体中必须先定义构造方法才可以定义其他方法 |
类体中必须先定义实例变量,才可以再定义static变量 |
7. "对于下列Tom类,哪个叙述是正确的?
public class Test{
public static void main(String[] args){
Tom cat=new Tom();
}
}
class Tom{
void Tom(){
System.out.println("ok");
}
Tom(){
System.out.println("你好");
}
}" [单选题] *
程序运行时输出:ok |
有两个构造方法 |
有编译错误 |
程序运行时输出:你好(正确答案) |
8. "对于下列Tom类,哪个叙述是正确的?
public class Test{
public static void main(String[] args){
Tom cat=new Tom();
}
}
class Tom{
void Tom(){
System.out.println("ok");
}
Tom(int m){
System.out.println("你好");
}
}" [单选题] *
程序运行时输出:ok |
没有构造方法 |
有编译错误,因为Tom类中提供了带参的构造方法,将不再提供默认的构造方法,创建对象cat使用的默认构造方法不存在(正确答案) |
程序运行时无任何输出结果 |
9. 下列哪个叙述是正确的?
[单选题] *
方法中声明的局部变量有默认值 |
方法中声名的局部变量不可以用static修饰(正确答案) |
this关键字也代表某个实例方法 |
构造方法也可以有返回类型 |
10. 下列哪个叙述是正确的?
[单选题] *
源文件可以有2条包语句(package) |
源文件不可以有多条import语句 |
如果源文件有package语句,该语句也可以是源文件的第2条语句 |
类中的类方法(static方法)只能操作类变量(static变量),不可以操作实例变量(正确答案) |
11. 下列哪个叙述是正确的?
[单选题] *
构造方法的访问权限可以不是public(正确答案) |
方法中声名的局部变量可以用static修饰 |
构造方法不可以重载 |
static方法不可以重载 |
12. 下列哪个叙述是正确的?
[单选题] *
当this关键字出现在实例方法中时,就代表正在调用该方法的当前对象(正确答案) |
一个Java源文件必须要有package语句 |
成员变量没有默认值 |
成员变量的名字不可以和局部变量的相同 |
13. 下列哪个叙述是正确的?
[单选题] *
当类中没有定义任何构造方法时,Java编译器将为这个类提供默认构造方法(正确答案) |
Java编译器提供默认构造方法,也可以为成员变量重新赋值 |
Java编译器会为所有的类提供默认构造方法 |
如果在一个类中定义的构造方法都是有参数的,Java编译器将为这个类提供默认的构造方法 |
14. 下列哪个叙述是错误的?
[单选题] *
实例变量是类的成员变量 |
在方法中定义的局部变量在该方法被执行是分配内存 |
局部变量在使用前必须要有值 |
实例变量用关键字static修饰(正确答案) |
15. "对于下列代码E.java,哪个叙述是正确的?
pubic class E{
int x;
static int y;
void start(){
x=100;
y=200;
}
static void stop(){
x=1000;
y=2000;
}
}"
[单选题] *
代码没有编译错误 |
代码可以通过编译,但运行时触发NullPointException |
代码有编译错误提示:无法从静态方法stop中引用非静态变量x(正确答案) |
start方法中操作变量y导致编译错误 |
16. 下列哪个叙述是错误的?
[单选题] *
类中的static方法可以用类名调用 |
实例方法可以操作static变量 |
类方法(static方法)可以操作实例变量(正确答案) |
类方法(static方法)可以操作static变量 |
17. "下列哪行代码有错误?
1.public class People{
2. int m=10,n;
3. n=200;
4. void f(){
5. if(m==n)
6. n=n+m;
7. else
8. n=n-m;
}
}"
[单选题] *
2 |
3(正确答案) |
6 |
8 |
18. 公有成员变量MAX_LENGTH是一个int型值,变量的值保持常数值100,定义这个变量的代码为? (多选)
*
public int MAX_LENGTH=100; |
final int MAX_LENGTH=100; |
final public int MAX_LENGTH=100;(正确答案) |
public final int MAX_LENGTH=100;(正确答案) |
19. 下列整型的常量属性i的定义中,正确的是() [单选题] *
static final int i=100;(正确答案) |
final int i; |
static int i; |
final float i=1.2f; |
20. 在Java中,方法的所有参数都是“传值”的,也就是说,方法中参数变量的值是调用者指定的实参值的拷贝
[判断题] *
对(正确答案) |
错 |