Java笔试题.docx

上传人:b****7 文档编号:9767964 上传时间:2023-02-06 格式:DOCX 页数:15 大小:94.97KB
下载 相关 举报
Java笔试题.docx_第1页
第1页 / 共15页
Java笔试题.docx_第2页
第2页 / 共15页
Java笔试题.docx_第3页
第3页 / 共15页
Java笔试题.docx_第4页
第4页 / 共15页
Java笔试题.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Java笔试题.docx

《Java笔试题.docx》由会员分享,可在线阅读,更多相关《Java笔试题.docx(15页珍藏版)》请在冰豆网上搜索。

Java笔试题.docx

Java笔试题

Java笔试题

D

答:

声明方法的存在而不去实现它的类被叫做抽象类(abstractclass),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。

不能创建abstract类的实例。

然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。

不能有抽象构造函数或抽象静态方法。

Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。

取而代之,在子类中实现该方法。

知道其行为的其它类可以在类中实现这些方法

接口(interface)是抽象类的变体。

在接口中,所有方法都是抽象的。

多继承性可通过实现这样的接口而获得。

接口中的所有方法都是抽象的,没有一个有程序体。

接口只可以定义staticfinal成员变量。

接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。

当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。

然后,它可以在实现了该接口的类的任何对象上调用接口的方法。

由于有抽象类,它允许使用接口名作为引用变量的类型。

通常的动态联编将生效。

引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口

18、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized

答:

都不能

19、接口是否可继承接口?

抽象类是否可实现(implements)接口?

抽象类是否可继承实体类(concreteclass)

答:

接口可以继承接口。

抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数

20、构造器Constructor是否可被override

答:

构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading

21、是否可以继承String类

答:

String类是final类故不可以继承

22、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后

答:

会执行,在return前执行

23、用最有效率的方法算出2乘以8等於几

答:

2<<3

24、两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对

答:

不对,有相同的hashcode

25、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递

答:

是值传递。

Java编程语言只有值传递参数。

当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。

对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的

26、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上

答:

witch(expr1)中,expr1是一个整数表达式。

因此传递给switch和case语句的参数应该是int、short、char或者byte。

long,string都不能作用于swtich

27、ArrayList和Vector的区别,HashMap和Hashtable的区别

答:

就ArrayList与Vector主要从二方面来说.

一.同步性:

Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的

二.数据增长:

当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半

就HashMap与HashTable主要从三方面来说。

一.历史原因:

Hashtable是基于陈旧的Dictionary类的,HashMap是Java1.2引进的Map接口的一个实现

二.同步性:

Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的

三.值:

只有HashMap可以让你将空值作为一个表的条目的key或value

28、char型变量中能不能存贮一个中文汉字?

为什么?

答:

是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的

29、GC是什么?

为什么要有GC

答:

GC是垃圾收集的意思(GabageCollection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

30、float型floatf=3.4是否正确?

答:

不正确。

精度不准确,应该用强制类型转换,如下所示:

floatf=(float)3.4

31、介绍JAVA中的CollectionFrameWork(包括如何写自己的数据结构)?

答:

CollectionFrameWork如下:

Collection

├List

│├LinkedList

│├ArrayList

│└Vector

│ └Stack

└Set

Map

├Hashtable

├HashMap

└WeakHashMap

Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)

Map提供key到value的映射

32、抽象类与接口?

答:

抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分实现,而接口则完全是一个标识(同时有多重继承的功能)。

JAVA类实现序例化的方法是实现java.io.Serializable接口

Collection框架中实现比较要实现Comparable接口和Compa

 

一.选择题(1-10题每题2分,11-15题每题4分)

1.下面关于Java语言说法错误的是:

()

A.java语言是完全面向对象的B。

java语言支持多继承

C.java语言支持多线程D。

java语言最早是为消费电子产品领域设计的

2.下面标识符中正确的是:

()

A.*123B。

12javaC.continueD。

java$next

3.下列关于注释语句的描述中,正确的一项是()

A。

以//开始的是多行注释语句

B。

以/*开始,*/结束的是单行注释语句

C。

以/**开始,*/结束的是可以用于生成帮助文档的注释语句

D。

以/**开始,*/结束的是单行注释语句

4.为了区分重载多态中同名的不同方法,要求()。

A)形式参数个数或者类型不同B)返回值类型不同

C)调用时用类名或对象名做前缀D)形式参数名称不同

5.下面定义数组的格式中正确的是:

()

A.inta[10]B。

inta=newint[10]C.int[]a=newint[5]D.inta[]

6.下面说法中不正确的是:

()

A.类是对象的抽象,对象是类的实例B。

类是组成java程序的最小的单位

C.java语言支持多继承D。

java一个程序中只能有一个public类

7.定义类时,不可能用到的保留字是()。

A)privateB)class

C)extendsD)implements

8.为AB类的定义一个公共的构造函数,该方法头的形式为()

A.voidAB()B。

publicvoidmethod()

C.publicmethod()D。

publicAB()

9.下面说法中不正确的是:

()

A.java中一个类只允许实现一个接口B。

抽象类中允许有非抽象方法的存在

C.类变量(实例变量)可以直接用类名调用D。

通过super可以调用基类的构造函数

10.容器JFrame默认使用的布局编辑策略是()

A.BorderLayoutB。

FlowLayoutC。

GridLayoutD。

CardLayout

11.以下哪个表达式是不合法的()

A.Stringx=”Hello”;inty=9;x+=y;

B.Stringx=”Hello”;inty=9;if(x==y){}

C.Stringx=”Hello”;inty=9;x=x+y;

D.Stringx=null;inty=(x!

=null)&&(x.length()>0)

12.classperson

{

publicintaddvalue(inta,intb)

{

ints;

s=a+b;

returns;

}

}

classchildextendsparent

{

}

若要在child类中对addvalue方法进行重写,下面对于child类中的addvalue方法头的描述哪个是正确的:

A)intaddvalue(intI,intj)B)voidaddvalue()

C)voidaddvalue(doublei)D)intaddvalue(inta)

13.下面程序在fun()方法当出现数组下标超过界限的情况下的输出结果是:

()

publicvoidtest()

{try

{fun();

System.out.print(“情况1”);

}catch(ArrayIndexOutOfBoundsExceptione)

{System.out.print(“情况2”);

}

catch(Exceptione)

{System.out.print(“情况3”);

}

finally{System.out.print(“finally”);

}

}

A.情况1B。

情况2C。

情况2finallyD情况3finally

14.下面程序运行后,正确的显示界面是:

()

importjava.awt.*;

importjava.applet.Applet;

publicclassawt6extendsApplet

{

GridLayoutcard=newGridLayout();

Buttonb[]=newButton[4];

publicvoidinit()

{

setLayout(card);

for(inti=0;i<4;i++)

{

b[i]=newButton(“卡片号为:

”+i);

add(b[i]);

}

}

}

A.B。

C.D。

15.下面程序填空正确的是:

()

importjava.awt.*;

importjava.applet.Applet;

importjava.awt.event.*;

publicclassaction1extendsApplet________________________

{

Buttonb1=newButton(“pressme”);

Labell1=newLabel(“提示信息栏“);

publicvoidinit()

{

setLayout(newFlowLayout(FlowLayout.LEFT,5,20));

add(b1);

add(l1);

b1.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente)

{

l1.setText(“button1clicked”);}}

A.implementsActionEventB.implementsActionListener

C.,ActionListenerDextendsActionEvent

二.填空题(1-7题每空2分,8-10题每空5分)

1.Java程序分为应用程序和小程序两种,其中应用程序必须包含_______________方法,该方法的格式是_________________________________。

小程序必须从_____________类继承而来。

2.Java程序通过______________语句跳出本次循环。

3.列举一个最常见到的runtimeexception(运行时异常类型)_____________________。

4.抽象类通过___________关键字声明,此关键字不能和_________修饰符一起连用。

5.若想引用util包中的所有类,其格式应该为_______________。

6.已知定义字符串s,其格式为

Strings=newString(“hello”).

若要求出s的长度,应调用String类中的___________方法。

7.若要实现多线程的同步处理,应用______________修饰方法,使得被修饰的方法一次只能由一个线程使用。

8.阅读以下程序,输出结果为_________________。

classMySuper{

publiclonggetLength(){

return4;

}

}

publicclassSubDemoextendsMySuper{

publiclonggetLength(){

return5;

}

publicstaticvoidmain(String[]args){

MySupersooper=newMySuper();

SubDemosub=newSubDemo();

System.out.println(sooper.getLength()+“,”+sub.getLength());

}}

9.请将下面程序填充完整:

classfruitextendsThread

{

publicvoidrun()

{

for(inti=0;i<5;i++)

{

System.out.println(i+”“+this.getName());

}

System.out.println(“done!

”+getName());

}

}

classtwo

{

publicstaticvoidmain(Stringargs[])

{

fruitf1=newfruit();

_________________________;//启动线程f1

}

}

10.以下是一个Applet,其功能为:

在窗口中按右对齐方式摆放三个单选按钮。

请将空白处填充完整。

importjava.applet.Applet;

importjava.awt.*;

publicclasstest_layout6extendsApplet

{

CheckboxGroupoptGroup;

Checkboxopt1,opt2,opt3;

publicvoidinit()

{

___________________________________

//设定布局方式为顺序布局,并设定为按右对齐方式

optGroup=newCheckboxGroup();

opt1=newCheckbox(“选项1″,optGroup,false);

add(opt1);

opt2=newCheckbox(“选项2″,optGroup,false);

add(opt2);

opt3=newCheckbox(“选项3″,optGroup,false);

add(opt3);

}

}

三.程序设计题(第1题12分,第2题13分)

1.请编写一个实现如下功能的Application:

比较从键盘输入的两个整数是否相等,并根据比较结果显示“相等”或“不相等”。

2.请编写一个Applet,其中包含两个标签(一个用于给出提示信息,另一个用来输出结果)和一个文本框。

要求从文本框中获取用户给出的一个整数,并将该数的绝对值在标签上输出。

答案

一.BDDAC,CADAA,BACBB

二.1。

Mainpublicstaticvoidmain(Stringargs[]),Applet

2。

Continue3。

ArthmeticException4。

Abstractfinal

5.Importjava.util.*;6.length()7.Sychronized8.4,5

9.f1.start()10.this.setLayout(newFlowLayout(FlowLayout.Right,5,5));

三.1.classadd

{publicstaticvoidmain(Stringargs[])

{intx=0,y=0;

try

{x=Integer.parseInt(args[0]);

y=Integer.parseInt(args[1]);}

catch(NumberFormatExceptione)

{System.out.println(“请输入两个整型参数!

”);

System.exit(0);

}

if(x==y)

{System.out.println(“相等”);

}

elseSystem.out.println(“不相等”);}

}

2.importjava.awt.*;

importjava.applet.*;

importjava.awt.event.*;

publicclassbutton1extendsAppletimplementsActionListener

{

Buttonb1=newButton(“button1″);

Labell1=newLabel(“请输入一个整数”);

Labell2=newLabel(“显示结果”);

TextFieldt1=newTextField(10);

publicvoidinit()

{

add(l1);

add(t1);

add(b1);

add(l2);

b1.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente)

{

intx=Integer.parseInt(t1.getText());

l2.setText(Math.abs(x)+”");

}

}

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

当前位置:首页 > 法律文书 > 调解书

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

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