《JAVA面向对象程序设计》试题与解析库1)在JAVA编程中,关于Font下列()是正确的。(选择两项)a)在我们的程序中可以使用Font类中定义的字体常量。b)我们可以使用Tookit类中的函数来获取我们的机器中java所支持的字体的列表c)我们可以自己创建字体实例对象d)以上说明都正确【解析】参考答案:ABFont属于java.awt包中的一个类,专门用来设置程序中的字体实例对象。创建Font类的对象时使用的方法:getFont(intface,intstyle,intsize);例如:Fontfont=Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_MEDIUM);无论哪一个参数,都只能使用系统设置的数值,这些数值具体的大小在不同的手机上可能不同。下面对于其中的三个参数的取值做详细的介绍:face参数指字体的外观;style参数指字体的样式;size参数指字体的大小。这三个参数都是系统中定义好的一些常量。获得系统的默认字体:Fontfont=Font.getDefaultFont();ToolKit类是AbstractWindowToolkit的所有实际实现的抽象父类。Toolkit用于把各种组件绑定到特定的本地工具箱实现上。该类有个方法getFontList()用于返回该工具箱中可用字体名。也就是可以获取机器中java所支持的字体的列表。2)在Java语言中,在包Package1中包含包Package2,类Class_A直接隶属于包Package1,类Class_B直接隶属于包Package2。在类Class_C要应用Class_A的方法A和Class_B的方法B,你需要()语句。(选择两项)a)importPackage1.*;b)importPackage1.Package2.*;c)importPackage2.*d)importPackage2.Package1.*;【解析】ABJava语言中的包机制就像Windows中的文件夹,用来归类类文件的位置。要使用包中的类,有如下二种方法:直接导入该包中要用到的类。例如要用到Color类,可以importjava.awt.Color干脆将包中所有的类直接导入。但此时如果包有嵌套的包,不能将嵌套包中的类倒入。Importjava.awt.*本题包的关系如下:Package1包嵌套包Package2Class_AClass_B掌握了这二条,要在类Class_C要应用Class_A的方法A和Class_B的方法B。也就是要在Class_C中导入Class_A和Class_B。方法如下:importPackage1.*//可以导入Class_AimportPackage1.Package2.*//可以导入Class_B3)importjava.awt.*;importjava.applet.*;publicclassButtonDemoextendsApplet{Publicvoidinit(){ButtonpushBotton=newButton(“ok”);ButtondownButton=newButton(“Yes”);add(pushBotton);add(downBotton);}}根据以上代码,下列解释正确的是()。(选择两项)a)该代码画了一个按钮b)Button(“ok”)创建一个有显示“ok”的按钮c)Button()是构造函数d)按钮属于容器【解析】BCButton是一个GUI组件,并不是容器。因为它里面不能再放其他组件。要创建按钮,可以使用Button类创建。ButtonpushBotton=newButton(“ok”)其中pushBotton是按钮实例对象名,Button()是构造方法,初始化该按钮,此处带有参数ok,表示该按钮所显示的文本为OK。等价于setText方法的作用。此代码中的add方法是将按钮添加到容器。但此时该按钮并没有显示出来,因为还没有实现画按钮。【解析】4)在JAVA编程中,关于Graphics,下面()是正确的。(选择一项)a)在这个类中定义了一些基本的绘图方法b)这个类还存在一些不足,因此出现了Graphics2D类,弥补了这个类的某些不足c)这个类是一个抽象类,我们不能创建这个类的实例d)以上说法都正确【解析】D类java.awt.Graphics,定义:publicabstractclassGraphicsextendsObjectGraphics类是所有图形上下文的抽象基类,该类包含了一些基本的绘图方法。这个上下文允许应用将图形绘制到由不同设备实现的组件上,以及绘制到空闲屏幕的映像中。由于Graphics是一个抽象类,应用不能直接调用该构造函数。图形上下文是从其他图形上下文获得的或是通过在一个组件上调用getGraphics创建的。例如使用如下这二个方法:create,getGraphics针对该类的一些缺点,出现了Graphics2D类,利用java.awt.Graphics2D类可以绘制各种图形,矩形,圆,二次曲线,饼形以及它们的填充图形等-,Java,2D图形编程/2DGraphic。5)在JAVA编程中,将鼠标放在按钮上以后,用鼠标单击按钮,将会发生鼠标事件和组件激活事件,就鼠标事件而言,将调用()个监听器方法。(选择一项)a)1b)2c)3d)4【解析】B鼠标事件在单击按钮时实际包含了二个事件:鼠标压下和鼠标弹起在Java的事件机制中,每个事件都必须有一个事件监听者。故选B6)JAVA中,为了辨别用户关闭窗口的时间,要实现监听器接口()。(选择一项)a)MouseListenerb)ActionLisenerc)WindowListenerd)以上都要【解析】D在Java程序中这一般是通过实现适当的事件监听者接口来完成的。比如如果需要响应按钮事件,就需要实现ActionListener监听者接口;如果需要响应窗口事件,就需要实现WindowListener监听者接口。此处当用鼠标点击关闭时,会产生一个MouseEvent,此类需要实现MouseListener接口。故本题选D7)在Java语言中,如果你有下面的类定义:abstractclassShape{abstractvoiddraw();}classSquareextendsShape{}如果你试图编译上面的代码会发生()。(选择一项)a)一切成功编译b)Shape可以编译Square不能编译c)Square可以编译Shape不能编译d)Shape.Square都不能编译【解析】D由于Square类没有实现父类Shape的方法draw,从而导致这二个类都不能编译。8)对于布局管理器解释正确的有()。(选择两项)a)FlowLayout以由上到下的方式从左到右排列组件b)BorderLayout使用“东”、“西”、“南“、“北”、“居中”来指定组件的位置c)GridLayout提供了类似于选项卡式的对话框的功能d)CardLayout是最灵活的布局方案【解析】BDJava中的布局方式:BorderLayout边界布局方式:使用“东”、“西”、“南“、“北”、“居中”来指定组件的位置FlowLayout流式(顺序)布局:按照从左到右由上到下的方式排列组件。GridLayout网格布局。把组件按照网格来放置。CardLayout卡片布局。对象是容器的布局管理器。它将容器中的每个组件当作一个卡片来处理。在某一时间,只有一个卡片是可见的,容器象一个卡片堆栈一样工作。...CardLayout定义了一系列方法,来允许一个应用顺序地翻动这些卡片,或显示一个指定的卡片。是最灵活的布局方案。9)int[]my_Array;my_Array=newint[5];for(intcount=0;count=5;count++)System.out.println(my_Array[count]);以上Java代码运行的结果是()。(选择一项)a)将1,2,3,4,5输出到屏幕b)将0,1,2,3,4输出到屏幕c)将0,1,2,3,4,5输出到屏幕d)将出现运行时异常【解析】D数组my_Array包含5个元素,元素的索引从0到4;而在for循环体中出现了当count=5时,会超出索引边界;故my_Array[5]会产生异常。10)下面描述()是正确的。(选择两项)a)Java的源程序必须以”.java”或”.jav”扩展名保存b)JavaVM可以是软件也可以是硬件c)Java使用解释器执行代码d)用高级语言编写的代码可以让计算机理解并执行它们【解析】BCJava的源程序必须以”.java”结尾。高级语言编写的程序必须经过编译或解释为低级语言;也即要翻译为计算机可以理解的机器语言。JavaVM(虚拟机)可以是软件也可以是硬件。Java使用解释器执行代码。11)在JAVA编程中,基于线程的多任务处理环境中,执行特定任务的可执行代码的最小单位是()。(选择一项)a)进程b)线程c)应用程序d)服务【解析】B进程是由一个或多个线程组成,进程中可执行代码的最小单位就是线程。12)下列选项中,属于Java语言的关键字的是()。(选择两项)a)gotob)mallocc)extendsd)FALSE【解析】AC先做下面几个题目:1,whichofthefollowingarekeywordsorreservedwordsinjava?a)ifb)thenc)gotod)whilee)casef)sizeof2,whichofthefollowingarejavakeywords?a)doubleb)Switchc)thend)instanceof3,whichofthesearekeywordsinjava?a)defaultb)NULLc)Stringd)throwse)longf)true答案:1,acde2,ad3,adef作对了吗^_^解释来了:1,then和sizeof都不是java的关键字,熟悉c或者c++,写惯了asp的高手就要小心喽。2,所有的关键字都是小写的,所以Switch不是关键字。instanceof看上去像方法名,但其实是关键字;3,大写的NULL不是java语言的关键字。String是java语言的一个封装类的类名,也不是关键字。再来点系统的:正确识别java语言的关键字(keyword)和保留字(reservedword)是十分重要的。Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等。保留字是为java预留的关键字,他们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。关键字列表abstractbooleanbreakbytecasecatchcharclasscontinuedefaultdodoubleelseextendsfalsefinalfinallyfloatforifimplementsimportinstanceofintinterfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticsuperswitchsynchronizedthisthrowthrowstransienttruetryvoidvolatilewhile保留字const,goto注意点:识别java语言的关键字,不要和其他语言如c/c++的关键字混淆。const和goto是java的保留字。所有的关键字都是小写friendly,sizeof不是java的关键字13)在JAVA语言中,Panel默认的布局管理器是()。(选择一项)a)Borderlayoutb)FlowLayoutc)GridLayoutd)GridBagLayout【解析】A常见的几种布局:BorderLayout边界布局方式:使用“东”、“西”、“南“、“北”、“居中”来指定组件的位置