OCJP 1Z0-808考题解析 题31--60

31--40(完)

31.

难度:难点题

解析:A:成员变量权限变小,有益于封装。

B:类的权限修饰符没有封装的作用。

C:改变返回值也没用。

D:返回对象重拷贝有利于减少引用传递问题。

 

 

32.

难度:难点题

解析:sum字段、setX() 、setY()会导致sum的值发生变化。

 

 

33.

难度:基础题

解析:略

 

 

34.

难度:阅读理解题

解析:

题目

Which statement(表现,叙述) best describes(叙述,形容,描写) encapsulation(封装)?


A. Encapsulation ensures that classes can be designed so that only certain(某些) fields and methods of an object are accessible(可接近的;可进入的;可使用的;可见到的 ) from other objects.


B. Encapsulation ensures that classes can be designed so that their methods are
inheritable(可继承的).


C. Encapsulation ensures that classes can be designed with some fields and methods
declared(声明) as abstract.


D. Encapsulation ensures that classes can be designed so that if a method has an
argument(参数) MyType x, any subclass of MyType can be passed to that method. 

解析:

A讲的是封装。B讲的是继承。C讲的是抽象类。D讲的是多态。

  1. 封装的概念

   隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。

  1. 封装的作用

    通过封装,可以实现对属性的数据访问限制,同时增加了程序的可维护性。由于取值方法和赋值方法隐藏了实现的变更,因此并不会影响读取或修改该属性的类,避免了大规模的修改,程序的可维护性增强。

  1. 封装的好处:1. 将变化隔离。2. 便于使用。 3.提高重用性。4. 提高安全性。

 

 

35.

难度:基础题

解析:1.implements前面必须是接口。排除A,D,F

  1. 子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法(如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。)。排除C, 肯定B,E
  2. 这篇博客对抽象类介绍的很详细:https://blog.csdn.net/wei_zhi/article/details/52736350

 

 

36.

难点:基础题

解析:考查二维数组。

 

 

37.

难点:难点题

解析:nums1的引用指向了nums2。

 

 

38.

难点:不理解题

解析:引用类型应该是传递引用,本题Integer传递的是值。

 

 

39.

难点:基础题

解析:成员变量的初始化。详见:https://www.cnblogs.com/qikeyishu/p/8996259.html

 

 

40.

难点:基础题

解析:略。

 

 

41--50(完)

41.

难点:基础题

解析:考查增强for循环。

 

 

42.

难点:基础题

解析:正确答案应是B。String.subString(int i):截取i到字符串末尾。

 

 

43.

难点:题目错误题

解析:考查lambda表达式的语法。这里有印刷错误,答案中的0应该是()

 

 

44.

难点:基础题

解析:略

 

 

45.

难点:套路题

解析:注意runtimeException不需要捕获异常,也能编译。

 

 

46.

难点:基础题

解析:略

 

 

47.

难点:基础题

解析:考查运算符优先级

 

 

48.

难点:难点题

解析:StringBuilder.insert(int i, String s):在第n位插入字符串。StringBuilder.append(int i, String s)不存在这个API.

 

 

49.

难点:基础题

解析:String类型的API,字符串内容不能发生变化,一旦字符串内容发生变化,都要返回新的String。

 

 

50.

难点:难点题

解析:int z=’8’的写法是没有错的,当输入的不是一个整形时,会根据ASCII值来判断输入的数。这里的’8’,则根据对应的ASCII码值10进制就是56,所以这句等同于int z=56;

 

 

50--60(完)

51.

难点:基础题

解析:考查多态。

 

 

52.

难点:基础题

解析:考查异常捕获。

 

 

53.

难点:基础题

解析:不管是不是父类引用的,输出的都是实际创建的那个对象。

 

 

54.

难点:基础题

解析:第一个输出的是list对象,则输出的是哈希吗。第二个输出了Planet对象,但是这个对象没有toString方法,所以还是一个哈希码。第三个是获取第三个对象中的mons属性,所以是1。

 

 

55.

难点:难点题

解析: 1. 考察if和for语句省略的格式。2. String对象的字符串是不能发生变化的。String的API一旦导致字符串的内容发生变化,就必须把变化的字符串返回,不能对原来的对象操作。

 

 

56.

难点:基础题

解析:考察for循环的执行顺序

 

 

57.

难点:难点题

解析:选项D:只要不用为null的对象调用API就不会报空指针异常。 选项A:为null的对象输出是”null”

 

 

58.

难点:不理解题

解析:aVar没有赋值,应该不能编译通过。应该选D。其他几遍博客都认为A。

 

 

59.

难点:基础题

解析:1. 由于Y yRef=(Y)xRef;把父类强转为子类了。所以yRef.mY();没有问题。排除选项C和选项D。

2. xRef.mX(); 多态情况下,子父类存在同名的非静态的成员函数时,访问的是子类的成员函数。1z0-808.236q.pdf文档有误。这题正确的选项是A。

 

 

60.

难点:基础题

解析:D,E选项中i都没有初始化。A选项中array和题目中arrar 是印刷错误。

 

 

猜你喜欢

转载自blog.csdn.net/aoe15yu/article/details/84472817