学习网考试学习资料

Gzu521.com

SCJP认证试题解析之三

JAVA认证   点击:次   发布时间:2007-1-31   【字体: 】   来源:Gzu521.com
Gzu521.com我的学习网

11. which statements about inheritance are true?


   a. in Java programming language only allows single inheritance.
   b. in java programming language allows a class to implement only one
interface.
   c. in java programming language a class cannot extend a class and implement
a interface together.
   d. in java programming language single inheritance makes code more
reliable.
   翻译
   下面关于继承的哪些叙述是正确的。
   a.在java中只允许单一继承。

   b.在java中一个类只能实现一个接口。 szI9 IkE / iK [ 本 资 料 来 源 于 贵 州 学 习 网 IT认证JAVA认证 http://Www.gzU521.com ] szI9 IkE / iK

   c.在java中一个类不能同时继承一个类和实现一个接口。

   d.java的单一继承使代码更可靠。

   答案 a,d

   解析 在java中一个类只能有一个直接父类,但是可以实现多个接口,在继承的同时可以实现接口,之所以取消多继承的原因是多继承使得代码产生很多问题,而使用单一继承则可以使代码更可靠。

   12.
   1) class person {

   2) public void printvalue(int i, int j) {/*…*/ }

   3) public void printvalue(int i){/*...*/ }
   4) }

   5) public class teacher extends person {

   6) public void printvalue() {/*...*/ }

   7) public void printvalue(int i) {/*...*/}

   8) public static void main(string args[]){

   9) person t = new teacher();

   10) t.printvalue(10);

   11) }

   12) }

   which method will the statement on line 10 call?
   a. on line 2

   b. on line 3

   c. on line 6

   d. on line 7
   翻译
   第十行的声明将调用哪些方法。 +oj]sIOW[h4M}z[ 此文转贴于我的学习网IT认证JAVA认证 http://www.Gzu521.com]+oj]sIOW[h4M}z

   答案 d

   解析 变量t是一个person对象,但是它是用teacher实例化的,这个问题涉及到java的编译时多态和运行时多态的问题,就编译时多态来说,t实际上是一个person类,这涉及到类型的自动转换(将一个子类的实例赋值给一个父类的变量是不用进行强制类型转换,反之则需要

进行强制类型转换,而且被赋值的变量实际上应该是一个子类的对象),如果对t调用了子类中新增的方法则造成编译时错误编译将不能通过,而在运行时,运行时系统将根据t实际指向的类型调用对应的方法,对于本例来说,t.print(10)将调用t实际指向的teacher类的对应方法。在java中,可以用一个子类的实例实例化父类的一个变量,而变量在编译时是一个父类实例,在运行时可能是一个子类实例。

   13. which are not java primitive types?
   a. short

   b. boolean

   c. unit

   d. float
   翻译
   下面哪些不是java的原始数据类型。

   答案 b,c

   解析 java的原始数据类型一共就八个,分别是:byte,short,int,long,boolean,char,float,double。注意这些是大小写敏感的,而boolean是booelan的封装类(wrapper class)。

   14. use the operators "<<", ">>", which statements are true?
   a. 0000 0100 0000 0000 0000 0000 0000 0000<<5 gives

   1000 0000 0000 0000 0000 0000 0000 0000

   b. 0000 0100 0000 0000 0000 0000 0000 0000<<5 gives

   1111 1100 0000 0000 0000 0000 0000 0000

   c. 1100 0000 0000 0000 0000 0000 0000 0000>>5 gives

   1111 1110 0000 0000 0000 0000 0000 0000

   d. 1100 0000 0000 0000 0000 0000 0000 0000>>5 gives

   0000 0110 0000 0000 0000 0000 0000 0000
   翻译
   使用"<<"和 ">>"操作符的哪些陈述是对的。

   答案 a,c

   解析 java的移位操作符一共有三种,分别是”>>”,”>>>”,”<<”,执行的操作分别是有符号右移,无符号右移,左移,有符号右移的意思是说移入的最高位和原最高符号位相同,无符号右移是移入位始终补零,左移时最低位始终补零,最高位被舍弃。移位操作符另一个非常值得注意的特点是其右操作数是取模运算的,意思是说对于一个int型数据而言,对它移位32位的结果是保持不变而非变成零,即:a>>32的结果是a而不是0,同理,对long型数是对右操作数取64的模,a>>64==a;还有一点需要注意的是移位操作符”>>>”只对int型和long型有效,对byte或者short的操作将导致自动类型转换,而且是带符号的。

   15. which of the following range of int is correct?
   a. -27 -- 27-1

   b. 0 -- 232-1

   c. ?215 -- 215-1

   d. ?231 -- 231-1
   翻译
   int的取值范围是哪个。

   答案 d

   解析 int型是32位的。参看第一题的论述

责任编辑:gzu521

IT认证分类
计算机软件水平考试
全国计算机等级考试
思科认证
微软认证
ORACLE/CIW认证
Linux认证
JAVA认证
其它认证
分类推荐信息
更多...
大类最新文章
更多...