1.下列不属于面向对象编程的特性的是( C )。
A.封装 B.继承
C.抽象 D.多态
2.(*)下述概念中不属于面向对象的是( D )。
A.对象 B.继承、多态
C.类、封装 D.过程调用
3.(*)对象是Java中很重要的概念,下列说法中能准确地描述对象的是( A )。
A.对象是类的具体实例,可以操作数据的方法
B.对象是抽象的,类可以通过对象来生成
C.对象只是方法的集合
D.对象是一组具有共同的结构和行为的类
4.(*)下面有关变量及其作用域的陈述哪一项是错误的?(D)
A.在方法里面定义的局部变量在方法退出的时候被撤销
B.局部变量只在定义它的方法内有效
C.在方法外面定义的实例变量在对象被构造时创建
D.在方法中定义的方法的参变量只要该对象被需要就一直存在
5.下列方法的声明中不合法的是(B )。
A.float play(){ return 1; }
B.void play(int d,e) { }
C.double play(int d) { return 2.0; }
D.int play(int r) { return 1; }
6.下列哪个方法不能与方法public void add(int a){ }重载?(A )
A.public int add(int b) { }
B.public void add(double b) { }
C.public void add(int a, int b) { }
D.public void add(float g) { }
7.类Test定义如下:
1.public class Test {
2. float use(float a, float b) {
3. }
4.
5.}
将以下哪种方法插入第4行是不合法的?( B )
A.float use(float a, float b, float c) { }
B.float use(float c, float d) { }
C.int use(int a,int b) { }
D.float use(int a, int b, int c) { }
8.为了区分重载多态中同名的不同方法,要求( A )。
A.采用不同的参数列表
B.返回值类型不同
C.调用时用类名或对象名做前缀
D.参数名不同
9.下列有关构造方法描述正确的是( D)。
A.所有类都必须定义一个构造方法
B.构造方法必须有返回值
C.构造方法必须访问类的非静态成员
D.构造方法可以初始化类的成员变量
10.下列关于构造方法的叙述中,错误的是(C )。
A.构造方法名与类名必须相同
B.构造方法没有返回值,但不用void声明
C.构造方法不可以重载
D.构造方法只能通过new自动调用
11.设A为已定义的类名,下列声明对象a的语句中正确的是(C)。
A.public A a =new A( );
B.A a = A( );
C.A a = new A();
D.a A;
12.给出如下类定义:
public class Test {
Test(int i) {
}
}
如果要创建一个该类的对象,正确的语句是( B )。
A.Test t = newTest();
B.Test t = newTest(5);
C.Test t = newTest("5");
D.Test t = newTest(3.4);
13.以下代码的调试结果为(C )。
class Square {
int a;
void Square() {
a = 10;
}
public static void main(String[] args) {
Square s = new Square();
System.out.println(s.a);
}
}
A.输出10