R2-1
有一个类A,以下为其构造方法的声明,其中正确的是()。
(2分)
A.
A(int x){…}
B.
void a(int x){…}
C.
void A(int x){…}
D.
a(int x){…}
R2-2
下面关于缺省构造方法的描述中正确的是( )。
(2分)
A.
Java编译器会为所有的类创建缺省构造方法。
B.
当类中没有定义任何构造方法时,Java编译器将为这个类创建缺省构造方法
C.
如果在一个类中定义的构造方法都声明了参数,Java编译器将为这个类创建一个缺省构造方法
D.
缺省构造方法可以初始化其他方法中定义的变量
R2-3
已知:Student类的定义如下:
class Student{
int age;
}
在主方法中,有如下两段程序代码A和B:
int a; //变量a是局部变量
System.out.println(a); //A段代码
Student student=new Student();
System.out.println(student.age); //B段代码
关于A和B两段代码的合法性,说法正确的是:( )。
(2分)
A.
A段不合法;B段合法,输出0
B.
都不合法
C.
A段合法,输出0;B段不合法
D.
都合法,将输出0和0
R2-4
执行下面的程序,输出结果是( )。
public class Test {
int x= 12;
public void method(int x) {
x+=x;
System.out.println(x);
}
public static void main(String[] args){
Test t = new Test();
t.method(5);
}
}
(2分)
A.
5
B.
24
C.
10
D.
12
R2-5
下面哪个函数是public void aMethod(){…}的重载函数?( )
(2分)
A.
void aMethod( ){…}
B.
public void aMethod ( ){…}
C.
public int aMethod(){…}
D.
public int aMethod ( int m){…}
R2-6
已知name,age是Person类的成员属性,关于构造方法,下面哪个描述是正确的?
(2分)
A.
public void Person(String name){
this.name=name;
} //这是Person类中的构造方法
B.
public Person(String name){
this();
this.name=name;
} //这是Person类中唯一的构造方法
C.
public Person(){
name="";
age=10;
}
public Person(String name){
this();
this.name=name;
} //这是Person类中两个构造方法
D.
public Person(){
name="";
age=10;
}
public Person(String name){
Person();
this.name=name;
} //这是Person类中两个构造方法
R2-7
下列方法头中哪一个不与其他方法形成重载(overload)关系?( )
(2分)
A.
void mmm(String s)
B.
int mm()
C.
void mmm()
D.
void mmm(int i)
R2-8
类ABC定义如下:
1.public class ABC{
2. public int max( int a, int b) { }
3.
4.}
将以下哪个方法插入行3是不合法的。( )
(2分)
A.
public float max(float a, float b, float c){ }
B.
public float max(float a, float b){ }
C.
private int max(int a, int b, int c){ }
D.
public int max(int c, int d){ }
R2-9
声明一个类是需要( )关键字。
(2分)
A.
class
B.
private
C.
public
D.
以上都是
R2-10
对于类与对象的关系,以下说法错误的是( )。
(2分)
A.
类是同类对象的抽象
B.
对象由类来创建
C.
对象是创建类的模板
D.
类是对象的类型
R2-11
有类Person定义如下:
public class Person {
String name = "Peter";
int age = 10 ;
}
以下操作的结果是:
Person p = new Person();
Person p1 = new Person();
p1.name = "Alice";
p1.age = 12;
System.out.print(p.name+" "+p.age+" ");
System.out.println(p1.name+" "+p1.age+" ");
(2分)
A.
Alice 12 Alice 12
B.
null 0 Alice 12
C.
Peter 10 Alice 12
D.
Peter 10 Peter 10
R2-12
一个*.java文件中可以包含多少个public类?
(2分)
A.
最多1个
B.
最少1个
C.
不限制
D.
只能是0个
R2-13
下面关于类的定义,哪一个是正确的?( )
(2分)
**A.
public class Car{
//…
}
答案选A**
B.
public class MOVE(){
// …
}
C.
public void HH{
//…
}
D.
public class void number{
//…
}
R2-14
类中某方法定义如下: double fun(int a,int b){ return a*1.0/b; } 同一类内其它方法调用该方法的正确方式是( )。
(2分)
A.
int x = fun(1.0,2.0)
B.
double a = fun(1,2)
C.
int x = fun(1,2)
D.
double a = fun(1.0,2.0)
R2-15
下列哪些语句关于Java内存回收的说明是正确的? ( )
(2分)
A.
内存回收程序允许程序员直接释放内存
B.
内存回收程序负责释放无用内存
C.
内存回收程序可以在指定的时间释放内存对象
D.
程序员必须创建一个线程来释放内存
R2-16
对于构造方法,下列叙述不正确的是( )。
(2分)
A.
构造方法的返回类型只能是void型,即在方法名前加void
B.
构造方法是类的一种特殊方法,它的方法名必须与类名相同
C.
构造方法的主要作用是完成对类的对象的初始化工作
D.
一般在创建新对象时,系统会自动调用构造方法
R2-17
构造方法中调用其他构造方法时,this(,…)须放在代码的第( )行。
(2分)
A.
1
B.
无限制
C.
可以不出现
D.
末
R2-18
方法体内定义的变量称局部变量,下述关于局部变量的说法中错误的是( )。
(2分)
A.
局部变量不能加修饰词修饰
B.
局部变量仅在所定义的代码块内(花括号对内)有效
C.
局部变量未经赋值不能使用
D.
局部变量不能与类中的成员变量同名
R2-19
在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( )。
(2分)
A.
Java不支持此特性
B.
覆盖
C.
隐藏
D.
重载
R2-20
某个类的方法中,在成员变量和局部变量重名的情况下,( )变量优先使用。
如果要使用( )变量,必须使用关键字( )进行限定。
(2分)
A.
实例 类 this
B.
成员 局部 this
C.
类 实例 this
D.
局部 成员 this
R2-21
Test类的定义如下,程序的运行结果为下列哪一项?( )。
public class Test {
public Test() {
System.out.println("构造方法一被调用了。。");
}
public Test(int x) {
System.out.println("构造方法二被调用了。。");
}
public Test(boolean b) {
System.out.println("构造方法三被调用了。。");
}
public static void main(String[] args) {
Test test=new Test(true);
}
}
(2分)
A.
构造方法三被调用了。。
B.
构造方法一被调用了。。
C.
构造方法一被调用了。。
构造方法二被调用了。。
构造方法三被调用了。。
D.
构造方法二被调用了。。
R2-22
下列说法正确的有() 。
(2分)
A.
constructor必须与class同名,但方法不能与class同名
B.
class中的constructor不可省略
C.
constructor在一个对象被new时执行
D.
一个class只能定义一个constructor
R2-23
已如类A的定义如下,程序代码执行结果是:( )。
class A {
int v = 10;
public void print() {
int v = 100;
System.out.println(v);
}
}
public class Main {
public static void main(String[] args) {
A a=new A();
a.print();
}
}
(2分)
A.
100
B.
程序出现编译错误
C.
程序出现运行错误
D.
10



