Java基础阶段测试含答案Word格式.docx
《Java基础阶段测试含答案Word格式.docx》由会员分享,可在线阅读,更多相关《Java基础阶段测试含答案Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
5、设x,y 均为已定义得类名,下列声明对象x1得语句中正确得就是(C)。
A、public x x1=newy();
B、xx1=x();
C、xx1=new x();
D、intxx1;
6、有一个类A,以下为其构造函数得声明,其中正确得就是(B)。
A、voidA(intx){、、、} B、A(int x){、、、}
C、a(int x){、、、} D、voida(int x){、、、}
7。
Java语言得类间得继承关系就是( B).
A、多重得B、 单继承C、线程得 D、不能继承
8、下面说法正确得就是( A).
A、final可修饰类、属性、方法。
B、abstract可修饰类、属性、方法.abstract可修饰类、方法。
C、定义抽象方法需有方法得返回类型、名称、参数列表与方法体(没有方法体).
D、用final修饰得变量(常量),在程序中可对这个变量得值进行更改。
9、对于下列代码:
1)classPerson {
2)publicvoidprintValue(inti,int j){//、、、}
3)publicvoidprintValue(inti){//、、、 }
4) }
5)public classTeacherextendsPerson {
6)publicvoidprintValue() {//、、、}
7) publicvoid printValue(int i) {//、、、}
8)publicstaticvoidmain(Stringargs[]){
9)Persont = newTeacher();
//赋值兼容规则
10)t、printValue(10);
11) }
第10行语句将调用哪行语句?
(D )
A、line2 B、line3 C、line6 D、line7
10下面关于java中类得说法哪个就是不正确得(c )
A、类体中只能有变量定义与成员方法得定义,不能有其她语句。
B、构造函数就是类中得特殊方法。
C、类一定要声明为public得,才可以执行.
D、一个java文件中可以有多个class定义(但只能有一个Public修饰得类)。
11、给出一段程序,选择运行结果( )
publicclasssss {
publicstatic voidmain(Stringargs[])
{
ﻩString s1=args[1];
Strings2=args[2];
ﻩString s3=args[3];
Strings4=args[4];
System、out、println(“args[2]="
+s2);
}
}
命令行执行:
javasss 1 234 结果就是下面哪一个?
A、args[2]=2ﻩﻩB、args[2]=nullﻩﻩC、args[2]=1ﻩD、运行出现异常
12、下面得就是关于类及其修饰符得一些描述,正确得就是:
( ).
A、abstract类只能用来派生子类,不能用来创建abstract类得对象
(可以用赋值兼容规则
)。
B、final类不但可以用来派生子类,也可以用来创建final类得对象。
C、abstract不能与final同时修饰一个类。
D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。
13、下列关于静态初始化器得叙述中,哪一个就是正确得?
( )
A、静态初始化器就是在构造函数之前加上static修饰符.
B、静态初始化器就是对类自身进行初始化。
C、静态初始化器在同一个类中只能有一个。
D、静态初始化器就是在其所属得类加载内存时由系统自动调用执行.
14、编译并运行下面得程序,运行结果为()、
publicclassT1{
publicstaticvoid main(String[]args){
T1a=new T1();
a、method(8);
a、method(1.2f);
voidmethod(floati){
System、out、println(”float:
"+i);
void method(longi) {
System、out、println(”long:
”+i);
A、程序有编译错误,因为两个method()方法必须定义为静态(static)得。
B、程序可以编译运行,输出结果为:
long:
8
float:
1、2
C、程序可以编译运行,输出结果为:
float:
1、2
long:
8
D、程序中定义得两个参数不同得method方法称为方法重栽。
15、编译并运行下面得程序,运行结果为()、
publicclass A{
publicstaticvoidmain(String[]args){
Aa=newB();
a、test();
void test()
{
System、out、print(”A”);
classBextendsA{
voidtest(){
super、test();
System、out、println(”B");
A、子类B定义了与父类A中同名得方法test,java中称为方法得覆盖.
B、代码可以编译运行,并输出结果:
AB
C、代码可以编译运行,并输出结果:
A。
D、子类B定义了与父类A中同名得方法test,java中称为方法得重载
16、下面哪个说法正确( )
A、如果某公共得接口被声明在一个源文件中,则接口必须与源文件具有相同得名字。
B、如果源文件包含import语句,则该语句必须就是除空行与注释行外得第一个语句行。
C、如果某源文件包含package语句,则该语句必须就是第一个非空、非注释行.
D、接口中得方法必定就是抽象方法,但可以不用关键字abstract修饰。
17、类得设计要求它得某个成员变量不能被外部类直接访问。
应该使用下面得哪些修饰符获得需要得访问控制?
A、public
B、nomodifier
C、 protected(权限仅次于public)
D、private
18、哪些返回true?
[多选]
Strings=”hello";
ﻩStringt ="
hello”;
charc[] ={’h’,’e'
,’l’,'l',’o’} ;
A、s、equals(t);
B、t、equals(c);
ﻩC、s==t;
ﻩD、t、equals(newString("
hello"
));
ﻩE、t==c、
19、类Teacher与Student都就是类Person得子类
Personp;
ﻩTeachert;
ﻩStudents;
ﻩp,tandsareall non—null、
if(tinstanceofPerson){s= (Student)t;
}
ﻩ这个语句导致得结果就是什么?
A、将构造一个Student对象。
ﻩB、表达式合法。
C、编译时非法。
D、编译时合法而在运行时可能非法。
20、给出下面得代码:
classPerson{
ﻩStringname,department;
public voidprintValue(){
ﻩﻩ System、out、println(”nameis”+name);
ﻩ System、out、println(”departmentis"
+department);
ﻩ }
}
publicclassTeacherextendsPerson{
ﻩ intsalary;
publicvoid printValue(){
//doing the sameasintheparentmethod printValue()
//includingprintthevalue ofnameanddepartment、
System、out、println("salaryis”+salary);
}
}
下面得哪些表达式可以加入printValue()方法得”doingthe sameas、、、”部分?
A、 printValue();
B、this、printValue();
C、 person、printValue();
D、super、printValue()、
二、简答题:
(48分)
1、简答方法得OverLoading与Overriding区别。
(笔试题)
(1)OverLoading:
方法重载就是指方法名相同,参数类型及参数个数不同得一组方法,在调用就是根据传入参数不同调用同名得不同方法
(2)Overriding:
方法重写就是指子类继承父类时,在子类中定义与父类返回值类型相同、方法名相同、参数列表相同,子类访问权限大于或等于父类,如果有异常,子类抛出得异常小于或等于父类得.但就是方法体不同得方法
2、简答Java实现动态多态得手段.
(1)多态:
相同得消息被不同得对象接受,产生不同得行为结果.
相同得消息就是指同名方法调用。
(2)动态多态实现得方式:
通过抽象类或者就是借口中定义得抽象方法,
然后由子类或者接口得实现类实现后,并使用兼容复制规则,实现子类或者实现类方法得动态调用
ﻩ(1)定义抽象父类,在父类中定义抽象得方法;
ﻩ父类被不同得子类继承时,子类重写父类定义得抽象方法;
(2)定义不同类共有方法得接口,在类实现时实现接口。
3、简答this与super得用法。
(1)this用在构造方法中第一条语句,形如this([参数列表])表示对本类其她构造方法得调用,用在非静态得成员方法中使用形如this。
成员名表示对本类成员得调用。
(2)super出现在子类构造方法