Java基础阶段测试含答案.docx

上传人:b****5 文档编号:2943350 上传时间:2022-11-16 格式:DOCX 页数:10 大小:22.79KB
下载 相关 举报
Java基础阶段测试含答案.docx_第1页
第1页 / 共10页
Java基础阶段测试含答案.docx_第2页
第2页 / 共10页
Java基础阶段测试含答案.docx_第3页
第3页 / 共10页
Java基础阶段测试含答案.docx_第4页
第4页 / 共10页
Java基础阶段测试含答案.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

Java基础阶段测试含答案.docx

《Java基础阶段测试含答案.docx》由会员分享,可在线阅读,更多相关《Java基础阶段测试含答案.docx(10页珍藏版)》请在冰豆网上搜索。

Java基础阶段测试含答案.docx

Java基础阶段测试含答案

Java基础阶段测试一

一、选择题:

(20分)

1、下列叙述中,正确得就是:

()

A声明变量时必须指定一个类型B、Java认为变量number与Number相同

C、Java中唯一得注释方式就是“//"D、源文件中public类可以有0或多个

2、ﻩ在switch(expression)语句中,expression得数据类型不能就是:

A

A、doubleB、charﻩC、byteD、short

3、已知int[]a=newint[100];,在下列给出得数组元素中,非法得就是:

D

A、a[0]ﻩB、a[1]ﻩC、a[99]ﻩD、a[100]

4、下列语句序列执行后,x 得值就是(A )。

inta=3, b=4,x=5;

if(++a

A、 5   B、3     C、4   D、6

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出现在子类构造方法

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1