(一)选择题
1.设A为已定义的类名,下列声明A类的对象a的语句中正
确的是()
(A)public A a=new A( ); (B)public A
a=A( );
(C)A a=new class( ); (D)a A;
2.设X 、Y 均为已定义的类名,下列声明类X的对象x1
的语句中正确的是()
(A)public X x1= new Y( ); (B)X x1= X ( );
(C)X x1=new X( ); (D)int X x1;
3.下列方法定义中,正确的是
()
A) int x( int a,b ) { return (a-b); }
B) double x( int a,int b) { int w; w=a-b; }
C) double x( a,b ) { return b; }
D) int x( int a,int b) { return a-b; }
4.下列方法定义中,正确的是
()
A) void x( int a,int b ); { return (a-b); }
B) x( int a,int b) { return a-b; }
C) double x { return b; }
D) int x( int a,int b) { return a+b; }
5.下列方法定义中,不正确的是
()
A) float x( int a,int b ) { return (a-b); }
B) int x( int a,int b) { return a-b; }
C) int x( int a,int b ) { return a*b; }
D) int x(int a,int b) { return 1.2*(a+b); }
6.下列方法定义中,正确的是
()
A) int x( ){ char ch='a'; return (int)ch; }
B) void x( ){ ...return true; }
C) int x( ){ ...return true; }
D) int x( int a, b){ return a+b; }
7.下列方法定义中,方法头不正确的是
()
A)public int x( ){ ... }
B)public static int x( double y ){ ... }
C)void x( double d ) { ... }
D)public static x( double a ){ ... }
8.定义类头时,不可能用到的关键字是
()
A) class B)private C)extends D)public
9.设A为已定义的类名,下列声明A类的对象a的语句中正确的
是()
A) A a=new A( ); B) public A a=A( );
C) A a=new class( ); D) a A;
10.设X 、Y 均为已定义的类名,下列声明类X的对象x1的语
句中正确的是()
A) X x1= new Y( ); B) X x1= X ( );
C) X x1=new X( ); D) int X x1;
11.设X 、Y为已定义的类名,下列声明X类的对象x1的语句
中正确的是()
A) static X x1; B) public X x1=new X(int 123);
C) Y x1; D) X x1= X( );
12.设i , j为类X中定义的int型变量名,下列X类的构造方法中
不正确的是()
A) void X(int k ){ i=k; } B) X(int k ){ i=k; }
C) X(int m, int n ){ i=m; j=n; } D) X( ){i=0;j=0; }
13.有一个类A,以下为其构造方法的声明,其中正确的是
()
A)public A(int x){...} ‘
B)static A(int x){...}
C)public a(int x){...}
D)void A(int x){...}
14.有一个类A,以下为其构造方法的声明,其中正确的是
()
A)void A(int x){...} B)A(int x){...}
C)a(int x){...} D)void a(int x){...}
15.设i、j、k为类X中定义的int型变量名,下列类X的构造方
法中不正确的是()
A) X( int m){ ... } B) void X( int m){ ... }
C) X( int m, int n){ ... } D) X( int h,int m,int n){ ... }
16.设i , j为类X中定义的double型变量名,下列X类的构造方
法中不正确的是()
A) double X(double k ){ i=k; return i; }
C) X( ){i=6;j=8; }
B) X(double m, double n ){ i=m; j=n; }
D) X(double k ){ i=k; }
17.设A为已定义的类名,下列创建A类的对象a的语句中正确
的是()
A)float A a; B public A a=A( );
A a=new int( ); D A a=new A( );
18.有一个类A,以下为其构造方法的声明,其中正确的是:
()
A)public A(int x){...}
B)static A(int x){...}
C)public a(int x){...}
D)void A(int x){...}
(二)简答题
1.构造方法和一般的方法有何区别?
2.面向对象的软件开发方法用什么把数据和基于数据的操作封装
在一起?
3.在一个类定义中,用什么描述对象的状态? 用什么描述对象的行
为?
4.什么方法是一个特殊的方法,用于对对象进行初始化?
5.一个源程序文件中,能有多于一个的public 类吗?
6.构造方法的方法名可由编程人员任意命名吗?
7.类的构造方法名必须和类名相同吗?
8.类的访问控制修饰符有哪些,访问权限各是什么?
9.类的成员的访问控制修饰符有哪些,访问权限各是什么?
10.包的作用是什么?如何声明一个包?
11.如何导入一个包?
12.定义类的访问器和设置器的形式是什么?
(三)程序阅读和程序填空
1.下面是一个类的定义,根据题目要求回答以下问题
class B
{ int x;
char y;
public B(int i,char j)
{ x=i; y=j; }
public void show()
{ S ystem.out.println("x="+x+"; y="+y); }
public void methodC(int x1)
{ x=x+x1; y++; show();
}
}
1)定义类B的一个对象b,将类中的变量x初始化为10、变量y初始化为’A’,请写出相应的语句。
2)若在1)问基础上有方法调用语句:b.show()则输出如何?
3)若在1)问基础上增加语句: b.methodC(1); 则输出为何?
2.下面是一个类的定义,请完成程序填空。
public class ____ Myclass ________
{ int x, y;
Myclass ( int i, _int j______) // 构造方法
{ x=i; y=j; }
}
3.以下方法fun的功能是求两参数之积。
int fun ( int a, int b )
{ return a*b; }
4.以下方法fun的功能是求两参数之积。
float fun ( int a, double b )
{ return (float)(a*b); }
5.以下方法fun的功能是求两参数的最大值。
int fun ( int a, int b )
{if(a>b) return a;else return b; }
6.以下方法m的功能是求两参数之积的整数部分。
int m ( float x, float y )
{ return (int)(x*y); }
7.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。
public _boolean_ isEven(int a)
{ if(a%2==0)
return true_____;
else
return false; }。