失效链接处理 |
JAVA面向对象编程测试题 PDF 下载
本站整理下载:
相关截图:
主要内容:
一、选择题
1.下面关于变量及其作用范围的陈述哪个是不对的?( )
A.实例变量是类的成员变量。
B.实例变量用关键字static声明。
C.在方法中定义的局部变量在该方法被执行时创建。
D.局部变量在使用前必须被初始化。
2.下面哪条语句把方法声明为抽象的公共方法?( )
A.public abstract method();
B.public abstract void method();
C.public abstract void method(){}
D.public void method() extends abstract;
3.若在某一个类定义中定义有如下的方法:final void aFinalFunction(){ }则该方法属于( )。
A、本地方法
B、静态方法
C、最终方法
D、抽象方法
4.main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合 法的( )。
A、public static void main()
B、public static void main(String[] args)
C、public static int main(String[] args)
D、public void main(String arg[])
5.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序 各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( )。
A、隐藏
B、覆盖
C、重载
D、Java不支持此特性
6.下列关于构造方法的叙述中,错误的是( )
A.Java语言规定构造方法名与类名必须相同
B.Java语言规定构造方法没有返回值,但不用void声明
C.Java语言规定构造方法不可以重载
D.Java语言规定构造方法只能通过new自动调用
7.关于被私有访问控制符private修饰的成员变量,以下说法正确的是( )
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
8.类Test1定义如下:
1. public class Test1{
2.public float aMethod(float a,float b){}
3.
4.}
将以下哪种方法插入行3是不合法的。( )
A、public float aMethod(float a,float b,float c){ }
B、public float aMethod(float c,float d){ }
C、public int aMethod(int a,int b){ }
D、private float aMethod(int a,int b,int c){ }
9.阅读以下代码:
public class foo{
public static void main(String[]args){
Strings;
System.out.println("s="+s);
}
}
输出结果应该是:( )
A.代码得到编译,并输出“s=”
B.代码得到编译,并输出“s=null”
C.由于Strings没有初始化,代码不能编译通过
D.代码得到编译,但捕获NullPointException异常
10.下述概念中不属于面向对象这种编程范畴的是( )。
A.对象、消息
B.继承、多态
C.类、封装
D.过程调用
11.编译并运行以下程序,以下描述哪个选项是正确的( )。
1.classA{
2.protected String toString(){
3.return super.toString();}
4. }
A、行2出错,不能成功编译
B、编译通过但运行时出错
C、编译通过运行无异常
D、不能成功编译,行3出错
12.假设Foo类有如下定义,设f是Foo类的一个实例,下列语句调用哪个是错误的?( )
publicclassFoo{
int i;
static String s;
void imethod(){ }
static void smethod() { }
}
A、Foo.imethod();
B、f.imethod();
C、System.out.println(f.i);
D、Foo.smethod()
13.以下哪个接口的定义是正确的?( )
A、interface A {void print(){};}
B、abstract interface A {void print();}
C、abstract interface A extends I1,I2//I1、I2为已定义的接口
{abstract void print(){ };}
D、interface A
{void print();}
14.运行下面程序段的结果是:( )。
public class MyMain{
public static void main(String args){
System.out.println(“HelloJava”);
}
}
A.正常输出HelloJava
B.编译时出错
C.运行时出错
D.以上答案都不对
15.下列类的定义中,错误的是( )。
A.class x{....}
B.public x extends y{....}
C.public class x extends y{....}
D.class x extends y implements y1{....}
16.A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:
1.Aa0=newA();
2.Aa1=newB();
3. A a2=new C();
问以下哪个说法是正确的?( )
A.只有第1行能通过编译
B.第1、2行能通过编译,但第3行编译出错
C.第1、2、3行能通过编译,但第2、3行运行时出错
D.第1行、第2行和第3行的声明都是正确的
17.方法重载是指( )
A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同
B.两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.两个以上的方法名字不同,但形参的个数或类型相同
D.两个以上的方法取相同的方法名,并且方法的返回类型相同
18、MAX_LENGTH是int型public成员变量,变量值保持为常量100,用简短语句定义这个变量。( ) (多选)
A、public int MAX_LENGTH=100;
B、final int MAX_LENGTH=100;
C、final public int MAX_LENGTH=100;
D、public final int MAX_LENGTH=100;
19、下面关于构造函数的说法不正确的是( )
A、构造函数也属于类的方法,用于创建对象的时候给成员变量赋值。
B、构造函数不可以重载。
C、构造函数没有返回值。
D、构造函数名称一定要和类名相同。
20、对象使用时,下面描述错误的是( )
A.通过“.”运算符调用成员变量和方法
B.通过成员变量的访问权限设定限制自身对这些变量方法的调用
C.将一个对象申明为类的成员时,必须在使用前为其分配内存
D.在方法中使用对象作为参数时,采用引用调用
二、填空题
1、在类声明中提供类标志的关键字是
2、当一个方法中有多个参数时,参数之间是用 隔开。
3、在Java中,使用变量遵守 的原则。
4、 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必 须在抽 象类之中定义。
5、对一类对象的抽象则是类,而类的实例化结果是 。一个类是由类声明和类体两部分组成。类修饰符有3种,它们分别是 、 和 。
6、当一个类的类修饰符为 时,说明该类不能被继承,即不能有子类
7、Java用 关键字指明继承关系。一个类要从另一个类继承变量和方法,必须使 用关键字 。Java程序在extends之后只能有一个父类,即extends只能实现 继 承。在Java中只能实现单继承(Java不支持多重继承),但可通过 实现多重继承。
8、一个方法的定义是有方法声明和 两部分组成。方法声明包括方法名、返 回 类型和形式参数,一个方法的标志是 。
9、 是指多个方法享有相同的名字,但这些方法的参数必须不同,或者是参数的 个数不同,或者是参数类型不同。
10、在Java中,用关键字 来修饰一个类,则该类为抽象类。若某个类包含了抽象方法,则该类必须被定义为 。
|