《jAVA核心技术和华为的面试题精品资料.doc》由会员分享,可在线阅读,更多相关《jAVA核心技术和华为的面试题精品资料.doc(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 JAVA核心技术试题与解析1) 在JAVA编程中,关于Font下列( bc )是正确的。(选择两项)a) 在我们的程序中可以使用Font类中定义的字体常量。b) 我们可以使用Tookit类中的函数来获取我们的机器中java所支持的字体的列表c) 我们可以自己创建字体实例对象d) 以上说明都正确【解析】参考答案:A BFont属于java.awt包中的一个类,专门用来设置程序中的字体实例对象。创建Font类的对象时使用的方法:getFont(int face,int style,int size); 例如:Font font = Font.getFont(Font.FACE_SYSTEM,Fo
2、nt.STYLE_BOLD,Font. SIZE_MEDIUM); 无论哪一个参数,都只能使用系统设置的数值,这些数值具体的大小在不同的手机上可能不同。下面对于其中的三个参数的取值做详细的介绍:face参数指字体的外观;style参数指字体的样式;size参数指字体的大小 。这三个参数都是系统中定义好的一些常量。获得系统的默认字体:Font font = Font.getDefaultFont(); ToolKit类是 Abstract Window Toolkit 的所有实际实现的抽象父类。Toolkit 用于把各种组件绑定到特定的本地工具箱实现上。该类有个方法getFontList() 用
3、于返回该工具箱中可用字体名。 也就是可以获取机器中java所支持的字体的列表。 2) 在Java语言中,在包Package1中包含包Package2,类Class_A直接隶属于包Package1,类Class_B直接隶属于包Package2。在类Class_C要应用Class_A的方法A和Class_B的方法B,你需要( ab )语句。(选择两项)a) import Package1.*;b) import Package1.Package2.*;c) import Package2.*d) import Package2.Package1.*;【解析】A B Java语言中的包机制就像Win
4、dows中的文件夹,用来归类 类文件的位置。要使用包中的类,有如下二种方法: l 直接导入该包中要用到的类。例如要用到Color类,可以 import java.awt.Colorl 干脆将包中所有的类直接导入。但此时如果包有嵌套的包,不能将嵌套包中的类倒入。Import java.awt.* 本题包的关系如下: Package1包嵌套包Package2 Class_A Class_B掌握了这二条,要在类Class_C要应用Class_A的方法A和Class_B的方法B。也就是要在Class_C中导入Class_A和Class_B。方法如下:import Package1.* /可以导入Cla
5、ss_Aimport Package1.Package2.* /可以导入Class_B3) import java.awt.*;import java.applet.*;public class ButtonDemo extends Applet Public void init()Button pushBotton=new Button(“ok”); Button downButton=new Button(“Yes”); add(pushBotton); add(downBotton);根据以上代码,下列解释正确的是( bc )。(选择两项)a) 该代码画了一个按钮b) Button(“o
6、k”)创建一个有显示“ok”的按钮c) Button()是构造函数d) 按钮属于容器【解析】B C Button是一个GUI组件,并不是容器。因为它里面不能再放其他组件。要创建按钮,可以使用Button类创建。 Button pushBotton=new Button(“ok”) 其中pushBotton是按钮实例对象名,Button()是构造方法,初始化该按钮,此处带有参数ok,表示该按钮所显示的文本为OK。等价于setText方法的作用。此代码中的add方法是将按钮添加到容器。但此时该按钮并没有显示出来,因为还没有实现画按钮。【解析】4) 在JAVA编程中,关于Graphics,下面( d
7、 )是正确的。(选择一项)a) 在这个类中定义了一些基本的绘图方法b) 这个类还存在一些不足,因此出现了Graphics2D类,弥补了这个类的某些不足c) 这个类是一个抽象类,我们不能创建这个类的实例d) 以上说法都正确【解析】D 类 java.awt.Graphics,定义:public abstract class Graphics extends Object Graphics 类是所有图形上下文的抽象基类,该类包含了一些基本的绘图方法。这个上下文允许应用将图形绘制到由不同设备实现的组件上,以及绘制到空闲屏幕的映像中。由于 Graphics 是一个抽象类,应用不能直接调用该构造函数。图形
8、上下文是从其他图形上下文获得的或是通过在一个组件上调用 getGraphics 创建的。 例如使用如下这二个方法:create, getGraphics 针对该类的一些缺点,出现了Graphics2D类,利用java.awt.Graphics2D类可以绘制各种图形,矩形,圆,二次曲线,饼形以及它们的填充图形等-,Java,2D图形编程/2D Graphic。5) 在JAVA编程中,将鼠标放在按钮上以后,用鼠标单击按钮,将会发生鼠标事件和组件激活事件,就鼠标事件而言,将调用( c )个监听器方法。(选择一项)a) 1b) 2c) 3d) 4【解析】B鼠标事件在单击按钮时实际包含了二个事件: 鼠标
9、压下 和 鼠标 弹起在Java的事件机制中,每个事件都必须有一个事件监听者。故选B6) JAVA中,为了辨别用户关闭窗口的时间,要实现监听器接口( c )。(选择一项)a) MouseListenerb) ActionLisenerc) WindowListenerd) 以上都要【解析】D在Java程序中这一般是通过 实现适当的事件监听者接口来完成的。比如如果需要响应按钮事件,就需要实现ActionListener 监听者接口;如果需要响应窗口事件,就需要实现WindowListener监听者接口。此处当用鼠标点击关闭时,会产生一个MouseEvent,此类需要实现MouseListener接
10、口。故本题选D7) 在Java语言中,如果你有下面的类定义:abstract class Shape abstract void draw();class Square extends Shape如果你试图编译上面的代码会发生( b )。(选择一项)a) 一切成功编译b) Shape可以编译Square不能编译c) Square可以编译Shape不能编译d) Shape.Square都不能编译【解析】D由于Square类没有实现父类Shape的方法draw,从而导致这二个类都不能编译。8) 对于布局管理器解释正确的有( ab )。(选择两项)a) FlowLayout 以由上到下的方式从左到右
11、排列组件b) BorderLayout使用“东”、“西”、“南“、“北”、“居中”来指定组件的位置c) GridLayout提供了类似于选项卡式的对话框的功能d) CardLayout是最灵活的布局方案【解析】 B DJava中的布局方式:BorderLayout 边界布局方式 :使用“东”、“西”、“南“、“北”、“居中”来指定组件的位置 FlowLayout 流式(顺序)布局:按照从左到右由上到下的方式排列组件。 GridLayout 网格布局。把组件按照网格来放置。CardLayout 卡片布局。 对象是容器的布局管理器。它将容器中的每个组件当作一个卡片来处理。在某 一时间,只有一个卡片
12、是可见的,容器象一个卡片堆栈一样工作。 . CardLayout 定义了 一系列方法,来允许一个应用顺序地翻动这些卡片,或显示一个指定的卡片。是最灵活的布局方案。9) int my_Array;my_Array=new int5;for(int count=0;count=5;count+)System.out.println(my_Arraycount);以上Java代码运行的结果是( d )。(选择一项)a) 将1,2,3,4,5输出到屏幕b) 将0,1,2,3,4输出到屏幕c) 将0,1,2,3,4,5输出到屏幕d) 将出现运行时异常【解析】D 数组my_Array包含5个元素,元素的索
13、引从0到4;而在for循环体中出现了当count=5时,会超出索引边界;故my_Array5会产生异常。10) 下面描述( bc )是正确的。(选择两项)a) Java的源程序必须以”.java”或”.jav”扩展名保存b) Java VM可以是软件也可以是硬件c) Java使用解释器执行代码d) 用高级语言编写的代码可以让计算机理解并执行它们【解析】B CJava的源程序必须以”.java”结尾。 高级语言编写的程序必须经过编译或解释为低级语言;也即要翻译为计算机可以理解的机器语言。 Java VM(虚拟机)可以是软件也可以是硬件。Java使用解释器执行代码。11) 在JAVA编程中,基于线
14、程的多任务处理环境中,执行特定任务的可执行代码的最小单位是( b )。(选择一项)a) 进程b) 线程c) 应用程序d) 服务【解析】B进程是由一个或多个线程组成,进程中可执行代码的最小单位就是线程。12) 下列选项中,属于Java语言的关键字的是( ac )。(选择两项)a) gotob) mallocc) extendsd) FALSE【解析】 A C 先做下面几个题目:1,whichofthefollowingarekeywordsorreservedwordsinjava?a)ifb)thenc)gotod)whilee)casef)sizeof 2,whichofthefollowi
15、ngarejavakeywords?a)doubleb)Switchc)thend)instanceof 3,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语言的一个封装类的
16、类名,也不是关键字。再来点系统的:正确识别java语言的关键字(keyword)和保留字(reservedword)是十分重要的。Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等。保留字是为java预留的关键字,他们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。关键字列表abstractbooleanbreakbytecasecatchcharclasscontinuedefaultdodoubleelseextendsfalsefinalfinallyfloatforifimplementsimportinstanceofinti
17、nterfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticsuperswitchsynchronizedthisthrowthrowstransienttruetryvoidvolatilewhile保留字const,goto注意点:识别java语言的关键字,不要和其他语言如c/c+的关键字混淆。const和goto是java的保留字。所有的关键字都是小写friendly,sizeof不是java的关键字13) 在JAVA语言中,Panel默认的布局管理器是( b )。(选择一项)a) Borderlayout
18、b) FlowLayoutc) GridLayoutd) GridBagLayout【解析】A常见的几种布局:BorderLayout 边界布局方式 :使用“东”、“西”、“南“、“北”、“居中”来指定组件的位置.为默认的布局管理器。 FlowLayout 流式(顺序)布局:按照从左到右由上到下的方式排列组件。 GridLayout 网格布局。把组件按照网格来放置。14) 在JAVA语言中,使我们能够使用和更改字体来显示或键入文本的类是( a )。(选择一项)a) Java.awt .Fontb) Java.awt.Graphics.Fontc) Java.Graphics.Fontd) Ja
19、va.Font【解析】AFont类位于java.awt包中。15) 在Java中,关键字( a )使类不能派生出子类。(选择一项)a) finalb) publicc) privated) volatilee) native【解析】A在类的前面加了final关键字,说明该类是一个最终的类,当然也就不能被别人继承,也就不能派生出子类了。16) 在JAVA编程中,Swing包中的组件处理事件时,下面( a )是正确的。(选择一项)a) Swing包中的组件也是采用事件的授权处理模型来处理事件的b) Swing包中的组件产生的事件类型,也都带有一个J字母,如:JMouseEventc) Swing包
20、中的组件也可以采用事件的传递处理机制d) Swing包中的组件所对应的事件适配器也是带有J字母的,如:JMouseAdapter【解析】ASwing是由100%纯Java实现的,Swing组件是用Java实现的轻量级( light-weight)组件,没有本地代码,不依赖操作系统的支持,这是它与AWT组件的最大区别。由于AWT组件通过与具体平台相关的对等类(Peer)实现,因此Swing比AWT组件具有更强的实用性。Swing在不同的平台上表现一致,并且有能力提供本地窗口系统不支持的其它特性。Swing包中的组件也是采用事件的授权处理模型来处理事件的。它的事件类型和事件适配器类依然是按照awt
21、包中的方式来定义的,并没有附带一个J字母。17) 在JAVA编程中,Java编译器会将java程序转换为( a )。(选择一项)a) 字节码b) 可执行代码c) 机器代码d) 以上所有选项都不正确【解析】A Java编译器将java程序转换为字节码。18) 在JAVA编程中,以下( b )命令用来执行java类文件。(选择一项)a) javacb) javac) appletviewerd) 以上所有选项都不正确【解析】B Javac是用来编译java的源文件的命令。 Java执行经过编译后产生的类文件。Appletviewer是用来查看java Applet程序的工具。19) 在Java中,
22、下列代码段允许按钮注册一个action事件的是( b )。(选择一项)a) button.enableActionEvents();b) button.addActionListener(anActionListener);c) button.enableEvents(true);d) button.enableEvents(AWTEvent.ACTION_EVENT_MASK);【解析】B向组件注册事件监听器的方法是addXXXListener。其中XXX代表事件。事件监听器(event listener)就是一个实现listener接口的对象。所以,程序员要做的就是创建一个listener
23、对象,然后向发起事件的组件注册这个对象。注册的过程就是调用组件的addXXXListener( )方法,这里XXX表示组件所发起的事件的类型。只要看一眼addListener方法的名字就能知道组件能处理哪种事件了,所以如果你让它听错了事件,那么编译就根本通不过。到后面你就会看到,JavaBean在决定它能处理哪些事件时,也遵循addListener的命名规范。20) 在Java语言中,下面变量命名合法的有( ad )。(选择两项)a) variable123b) 123variablec) privated) selg_asd【解析】A D命名规范:定义这个规范的目的是让项目中所有的文档都看起
24、来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性) 普通变量 的命名 以字母或下划线开头,由字母、数字、下划线等组成。但不能是java的关键字。 Package 的命名 Package 的名字应该都是由一个小写单词组成。 Class 的命名 Class 的名字必须由大写字母开头而其他字母都小写的单词组成 Class 变量的命名 变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。 Static Final 变量的命名 Static Final 变量的名字应该都大写,并且指出完整含义。 参数的命名 参数的名字必须
25、和变量的命名规范一致。 数组的命名 数组应该总是用下面的方式来命名: byte buffer;而不是: byte buffer; 方法的参数 使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字: SetCounter(int size) this.size = size;21) 在JAVA编程中,关于TextField的语句如下:JTextField t = new JTextField(“they are good”,40);下面( ad )是正确的。(选择两项)a) 在这个JTextField中,最多只能输入40个字符b) 在这个JTextField中,最少可以输入40个字符
26、c) 在这个JTextField中,能够输入的字符不一定是40个d) 在这个JTextField中,用户可以编辑所输入的字符【解析】C D JTextField构造方法的第二个参数表示文本框的列数。但并不限制它能输入的字符数。public JTextField(String text, int columns)创建一个新的文本域,并用待显示的指定文本初始化,且它的宽度足以显示指定的字符数。 参数: text - 显示的文本。 columns - 字符数22) String s1 = new String(“Hello”); String s2 = new String(“there”); St
27、ring s3 = new String(); 上面是Java程序中的一些声明,选项中能通过编译的是( a )。(选择一项)a) s3 = s1+ s2b) s3 = s1 & s2c) s3 = s1 | s2d) s3 = s1 & s2【解析】A Java的String对象是一个不可变的对象,每次修改或者构造字符串都会有一个新的String对象被创建。本题中只能对字符串对象进行+操作。读者可以从下面来认识String。问题一:我声明了什么! String s = Hello world!; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello
28、 world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。 这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向Hello world!这个String类型的对象。这就是真正发生的事情。我们并没有声明一个String对象,我们只是声明了一个只能指向String对象的引用变量。所以,如果在刚才那句语句后面,如果再运行一句: String string = s; 我们是声明了另外一个只能指向String对象的引用,名为string,并没有第二个对象产生,string还是指向原来那个对象,也就是,和s指向同一个对象。 问
29、题二:=和equals方法究竟有什么区别? =操作符专门用来比较变量的值是否相等。比较好理解的一点是: int a=10; int b=10; 则a=b将是true。 但不好理解的地方是: String a=new String(foo); String b=new String(foo); 则a=b将返回false。 根据前一帖说过,对象变量其实是一个引用,它们的值是指向对象所在的内存地址,而不是对象本身。a和b都使用了new操作符,意味着将在内存中产生两个内容为foo的字符串,既然是“两个”,它们自然位于不同的内存地址。a和b的值其实是两个不同的内存地址的值,所以使用=操作符,结果会是fa
30、lse。诚然,a和b所指的对象,它们的内容都是foo,应该是“相等”,但是=操作符并不涉及到对象内容的比较。 对象内容的比较,正是equals方法做的事。所以当你是用equals方法判断对象的内容是否相等,请不要想当然。因为可能你认为相等,而这个类的作者不这样认为,而类的equals方法的实现是由他掌握的。如果你需要使用equals方法,或者使用任何基于散列码的集合(HashSet,HashMap,HashTable),请察看一下java doc以确认这个类的equals逻辑是如何实现的。 问题三:String到底变了没有? 没有。因为String被设计成不可变(immutable)类,所以它
31、的所有对象都是不可变对象。请看下列代码: String s = Hello; s = s + world!; s所指向的对象是否改变了呢?从本系列第一篇的结论很容易导出这个结论。我们来看看发生了什么事情。在这段代码中,s原先指向一个String对象,内容是Hello,然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢?答案是没有。这时,s不指向原来那个对象了,而指向了另一个String对象,内容为Hello world!,原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。 通过上面的说明,我们很容易导出另一个结论,如果经常对字符串进行各种各样的修改,或者说,不可预见的
32、修改,那么使用String来代表字符串的话会引起很大的内存开销。因为String对象建立之后不能再改变,所以对于每一个不同的字符串,都需要一个String对象来表示。这时,应该考虑使用StringBuffer类,它允许修改,而不是每个不同的字符串都要生成一个新的对象。并且,这两种类的对象转换十分容易。23) 在Java语言中,按“东,西,南,北,中”指定组件的位置的布局管理器是( c )。(选择一项)a) FlowLayoutb) GridLayoutc) BorderLayoutd) CardLayoute) GridBagLayout【解析】C Java中的布局方式:BorderLayou
33、t 边界布局方式 :使用“东”、“西”、“南“、“北”、“居中”来指定组件的位置 FlowLayout 流式(顺序)布局:按照从左到右由上到下的方式排列组件。 GridLayout 网格布局。把组件按照网格来放置。CardLayout 卡片布局。 对象是容器的布局管理器。它将容器中的每个组件当作一个卡片来处理。在某 一时间,只有一个卡片是可见的,容器象一个卡片堆栈一样工作。 . CardLayout 定义了 一系列方法,来允许一个应用顺序地翻动这些卡片,或显示一个指定的卡片。是最灵活的布局方案。24) 在Java中允许创建多线程应用程序的接口是( b )。(选择一项)a) Threadable
34、b) Runnablec) Clonabled) 以上均不是【解析】A25) 在Java语言中,把组件放在BorderLayout的( b )区域时,它会自动垂直调整大小,但不是水平调整。(选择一项)a) North或Southb) East或Westc) Centerd) North,South或Center【解析】A 在BorderLayout布局方式时,当把组件放在North或South区域时,会自动水平调整组件的大小。相反当在East或West方位时,会自动垂直调整组件的大小。当在Center方位时,垂直和水平方位都会自动调整。26) 在JAVA编程中,以下( c )命令能够将Java
35、源文件转换为类文件。(选择一项)a) appletviewerb) javac) javacd) 以上所有选项都不正确【解析】C Javac是用来编译java的源文件的命令。产生类文件,也就是字节文件。 Java执行经过编译后产生的类文件。Appletviewer是用来查看java Applet程序的工具。 27) 在JAVA编程中,Java具有下列( abc )特点。(选择三项)a) 面向对象b) 跨平台c) 安全d) 集中式体系结构e) 可编译成机器代码【解析】 A B CJAVA语言是完全面向对象的、能够跨平台、高安全性的分布式体系结构。可以被虚拟机编译为字节码。28) 在Java中,欲
36、定义某类所在的包外的所有类都能访问这个类,则应用的关键字是()。(选择一项)a) protectedb) privatec) public【解析】C Public 访问修饰符,该类所在包内和包外的类都可以访问。最开放。Protected访问修饰符,只有该类所在包内或它的派生类才能访问。Private访问修饰符 ,只有该类所在包内的类才能访问。29) 在Java中,根据你的理解,下列方法()可能是类Orange的构造函数。(选择三项)a) Orange()b) Orange()c) Public void Orange()d) Public Orange()e) Public OrangeCon
37、stuctor()【解析】A B D构造方法要注意的几个地方: 名字与类名一样。可以带参数重载。 不能带返回类型,包括void。 30) 在Java中,下列选项表示字符”a”值的是()。(选择一项)a) ab) “a”c) new Character(a)d) 000a【解析】A字符应用单引号表示 a; new Character(a)表示创建一个字符对象a 000a 用ASCII表示应为 09731) 在Java中,可以使线程运行的方法是()。(选择一项)a) init();b) start();c) resume();d) sleep();【解析】B32) 在JAVA语言中,下面是main
38、()方法的部分代码:Frame f=new Frame(“My Frame”);f.setSize(100,100);为在屏幕显示f,应增加的代码是()。(选择一项)a) f.appear();b) f.setForeground();c) f.setVisible();d) f.enable();【解析】C框架Frame是一个顶层容器。在创建后,要在屏幕上显示只需将其设为可见。故选C。调用setVisible方法。 A项错误,没有该方法 B项设置该窗体的前景色。 D项使该窗体为可用。33) JAVA中,对于drawImage(image,x,y,width,height,this)方法解释正
39、确的是()。(选择两项)a) image是要绘制的图像b) x,y是表示图像的中心的位置c) width是源图像的宽度d) this是容器【解析】 A D 在指定位置并且按指定大小绘制指定的 Image。x,y是表示要画图像的位置坐标。34) JAVA中,欲返回按钮的标签,其方法是()。(选择一项)a) getActionCommand()b) setLabel(string str)c) button()d) getLabel()【解析】A欲返回按钮的标签使用getActionCommand()方法。35) 在JAVA中,假设我们有一个实现ActionListener接口的类,以下方法,()
40、能够为一个Button类注册这个类。(选择一项)a) addListener()b) addActionListener()c) addButtonListener()d) setListener()【解析】B Swing的事件模型中,组件可以发起(或射出)事件译注1。各种事件都是类。当有事件发生时,一个或多个监听器(listener)会得到通知,并做出反应。这样事件的来 源就同它的处理程序分隔开来了。一般说来,程序员是不会去修改Swing组件的,他们写的都是些事件处理程序,当组件收到事件译注1时,会自动调用这些代码,因此Swing的事件模型可称得上是将接口与实现分隔开来的绝好范例了。事件监听
41、器(event listener)就是一个实现listener接口的对象。所以,程序员要做的就是创建一个listener对象,然后向发起事件的组件注册这个对象。注册的过程就是调用组件的addXXXListener( )方法,这里XXX表示组件所发起的事件的类型。只要看一眼addListener方法的名字就能知道组件能处理哪种事件了,所以如果你让它听错了事件,那么编译就根本通不过。到后面你就会看到,JavaBean在决定它能处理哪些事件时,也遵循addListener的命名规范。36) 在JAVA语言中,包pack1的类class1 中有成员方法:protected void method_1(
42、),private void method_2(),public void method_3().和void method_4(),在包pack2中的类class2 不是class1的子类,你在class2 中可以调用的方法有()。(选择一项)a) method_1b) method_2c) method_3d) method_4【解析】C本题可以通过画出包中类的结构来分析:pack1: class1 : 受保护的method_1 method_4 私有的method_2 公共的method_3();pack2: class2:由于class2和class1 之间没有继承关系;故 class2
43、只能调用class1种的public修饰的方法: method_3().37) JAVA中,使用()修饰符时,一个类能被同一包或不同包中的其他类访问。(选择一项)a) privateb) protectedc) publicd) friendly【解析】C Public 访问修饰符,该类所在包内和包外的类都可以访问。最开放。Protected访问修饰符,只有该类所在包内或它的派生类才能访问。Private访问修饰符 ,只有该类所在包内的类才能访问。 Java中无friendly修饰符。38) 在JAVA中,类Worker是类Person的子类,Worker的构造方法中有一句“super()“,
44、该语句()。(选择一项)a) 调用类Worker中定义的super()方法b) 调用类Person中定义的super()方法c) 调用类Person的构造函数d) 语法错误【解析】C 有些时候经常需要在子类中调用父类的构造方法,此时需用super方法来调用。39) 在JAVA语言中,下列语言()可以画出一矩形框架,其距左边界为0像素,距上边界为10像素,宽为30像素,高为40像素。(选择一项)a) Graphics g=new Graphics();g.drawRect(10,0,30,40);b) Graphics g=new Graphics();g.drawRect(0,10,30,40);c) Graphics g =new Graphics();g.drawRect(30,40,10,0)d) Graphics g =new Grphics();g.drawRect(30,40,0,10);【解析】BGraphics类的方法drawRect的语法如下:public void drawRect(int x, int y, int width,