试题与解析库luo

上传人:自*** 文档编号:79653839 上传时间:2019-02-17 格式:DOC 页数:9 大小:93.30KB
返回 下载 相关 举报
试题与解析库luo_第1页
第1页 / 共9页
试题与解析库luo_第2页
第2页 / 共9页
试题与解析库luo_第3页
第3页 / 共9页
试题与解析库luo_第4页
第4页 / 共9页
试题与解析库luo_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《试题与解析库luo》由会员分享,可在线阅读,更多相关《试题与解析库luo(9页珍藏版)》请在金锄头文库上搜索。

1、 1) 在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语言中的包机制就像Windows中的文件夹,用来归类 类文件的位置。要使用包中的类,有如下二种方法:

2、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.* /可以导入Class_Aimport Package1.Package2.* /可以导入Cla

3、ss_B2) 在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,从而导致这二个类都不能编译。3) int my_Array;my_Array=new int5;for(int count=1;count5;c

4、ount+)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个元素,元素的索引从0到4;而在for循环体中出现了当count=5时,会超出索引边界;故my_Array5会产生异常。 4) 在JAVA编程中,Java编译器会将java程序转换为( a )。(选择一项)a) 字节码b) 可执行代码c) 机器代码d) 以上所有选项都不正确【解析】A Java编

5、译器将java程序转换为字节码。5) 在JAVA编程中,以下( b )命令用来执行java类文件。(选择一项)a) javacb) javac) appletviewerd) 以上所有选项都不正确【解析】B Javac是用来编译java的源文件的命令。 Java执行经过编译后产生的类文件。Appletviewer是用来查看java Applet程序的工具。6) 在Java语言中,下面变量命名合法的有( ad )。(选择两项)a) variable123b) 123variablec) privated) selg_asd【解析】A D命名规范:定义这个规范的目的是让项目中所有的文档都看起来像一

6、个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性) 普通变量 的命名 以字母或下划线开头,由字母、数字、下划线等组成。但不能是java的关键字。 Package 的命名 Package 的名字应该都是由一个小写单词组成。 Class 的命名 Class 的名字必须由大写字母开头而其他字母都小写的单词组成 Class 变量的命名 变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。 Static Final 变量的命名 Static Final 变量的名字应该都大写,并且指出完整含义。 参数的命名 参数的名字必须和变量

7、的命名规范一致。 数组的命名 数组应该总是用下面的方式来命名: byte buffer;而不是: byte buffer; 方法的参数 使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字: SetCounter(int size) this.size = size;问题一:我声明了什么! String s = Hello world!; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。 这个语句声明的是一个指向对象的引用,名为“s”,可

8、以指向类型为String的任何对象,目前指向Hello world!这个String类型的对象。这就是真正发生的事情。我们并没有声明一个String对象,我们只是声明了一个只能指向String对象的引用变量。所以,如果在刚才那句语句后面,如果再运行一句: String string = s; 我们是声明了另外一个只能指向String对象的引用,名为string,并没有第二个对象产生,string还是指向原来那个对象,也就是,和s指向同一个对象。 问题二:=和equals方法究竟有什么区别? =操作符专门用来比较变量的值是否相等。比较好理解的一点是: int a=10; int b=10; 则a

9、=b将是true。 但不好理解的地方是: String a=new String(foo); String b=new String(foo); 则a=b将返回false。 根据前一帖说过,对象变量其实是一个引用,它们的值是指向对象所在的内存地址,而不是对象本身。a和b都使用了new操作符,意味着将在内存中产生两个内容为foo的字符串,既然是“两个”,它们自然位于不同的内存地址。a和b的值其实是两个不同的内存地址的值,所以使用=操作符,结果会是false。诚然,a和b所指的对象,它们的内容都是foo,应该是“相等”,但是=操作符并不涉及到对象内容的比较。 对象内容的比较,正是equals方法做

10、的事。所以当你是用equals方法判断对象的内容是否相等,请不要想当然。因为可能你认为相等,而这个类的作者不这样认为,而类的equals方法的实现是由他掌握的。如果你需要使用equals方法,或者使用任何基于散列码的集合(HashSet,HashMap,HashTable),请察看一下java doc以确认这个类的equals逻辑是如何实现的。 问题三:String到底变了没有? 没有。因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。请看下列代码: String s = Hello; s = s + world!; s所指向的对象是否改变了呢?从本系列第

11、一篇的结论很容易导出这个结论。我们来看看发生了什么事情。在这段代码中,s原先指向一个String对象,内容是Hello,然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢?答案是没有。这时,s不指向原来那个对象了,而指向了另一个String对象,内容为Hello world!,原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。 通过上面的说明,我们很容易导出另一个结论,如果经常对字符串进行各种各样的修改,或者说,不可预见的修改,那么使用String来代表字符串的话会引起很大的内存开销。因为String对象建立之后不能再改变,所以对于每一个不同的字符串,都需要一个Str

12、ing对象来表示。这时,应该考虑使用StringBuffer类,它允许修改,而不是每个不同的字符串都要生成一个新的对象。并且,这两种类的对象转换十分容易。7) 在JAVA编程中,以下( c )命令能够将Java源文件转换为类文件。(选择一项)a) appletviewerb) javac) javacd) 以上所有选项都不正确【解析】C Javac是用来编译java的源文件的命令。产生类文件,也就是字节文件。 Java执行经过编译后产生的类文件。Appletviewer是用来查看java Applet程序的工具。 8) 在JAVA编程中,Java具有下列( abc )特点。(选择三项)a) 面

13、向对象b) 跨平台c) 安全d) 集中式体系结构e) 可编译成机器代码【解析】 A B CJAVA语言是完全面向对象的、能够跨平台、高安全性的分布式体系结构。可以被虚拟机编译为字节码。9) 在Java中,欲定义某类所在的包外的所有类都能访问这个类,则应用的关键字是()。(选择一项)a) protectedb) privatec) public【解析】C Public 访问修饰符,该类所在包内和包外的类都可以访问。最开放。Protected访问修饰符,只有该类所在包内或它的派生类才能访问。Private访问修饰符 ,只有该类所在包内的类才能访问。10) 在Java中,根据你的理解,下列方法()可

14、能是类Orange的构造函数。(选择三项)a) Orange()b) Orange()c) Public void Orange()d) Public Orange()e) Public OrangeConstuctor()【解析】A B D构造方法要注意的几个地方: 名字与类名一样。可以带参数重载。 不能带返回类型,包括void。 11) 在Java中,下列选项表示字符”a”值的是()。(选择一项)a) ab) “a”c) new Character(a)d) 000a【解析】A字符应用单引号表示 a; new Character(a)表示创建一个字符对象a 000a 用ASCII表示应为 09712) JAVA中,使用()修饰符时,一个类能被同一包或不同包中的其他类访问。(选择一项)a) privateb) protectedc) publicd) friendly【解析】C Public 访问修饰符,该类所在包内和包外的类都可以访问。最开放。Protected访问修饰符,只有该类所在包内或它的派生类

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号