请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

猿媛之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
猿媛之家 勘误 查看内容

Java程序员面试笔试真题与解析勘误

2018-9-6 14:57| 发布者: admin| 查看: 113| 评论: 0

摘要: 下面是Java程序员面试笔试真题与解析的勘误,部分错误的内容在最新的书籍中已经勘误过了,如果在书中没有发现对应的错误,请忽略勘误信息。(1) 真题30 “由于使用了没有初始化的变量j”,修改为“由于使用了没 ...
下面是Java程序员面试笔试真题与解析的勘误,部分错误的内容在最新的书籍中已经勘误过了,如果在书中没有发现对应的错误,请忽略勘误信息。

(1) 真题30
         由于使用了没有初始化的变量j,修改为由于使用了没有初始化的变量k
(2)真题39
      答案修改为:A、C
(3)真题60
    Java程序初始化工作可以在许多不同的代码块中完成(例如静态代码块、构造函数等),它们执行的顺序如下:父类静态变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量、父类非静态代码块、父类构造函数、子类非静态变量、子类非静态代码块和子类构造函数
 修改为:
    Java程序初始化工作可以在许多不同的代码块中完成(例如静态代码块、构造函数等),它们执行的顺序如下:(父类静态变量/父类静态代码块、(子类静态变量/子类静态代码块、(父类非静态变量/父类非静态代码块、父类构造函数、(子类非静态变量/子类非静态代码块和子类构造函数
 这里需要注意的是,(静态)非静态成员域在定义时初始化和(静态)非静态块中初始化的优先级是平级的,也就是说按照从上到下初始化,最后一次初始化为最终的值(不包括非静态的成员域在构造器中初始化)。所以在(静态)非静态块中初始化的域甚至能在该域声明的上方,因为分配存储空间在初始化之前就完成了。
如下例所示:
public class testStatic
{
        static {a=2;}
        static int a =1;
        static int b = 3;
        static{ b=4;}
        public static void main(String[] args)
        {
           System.out.println(a);
           System.out.println(b);
        }
}
程序运行结果为:
1
4
(4)真题61
   最后一行“此时会输出父类中的num值:3修改为“此时会输出父类中的num值:2
(5)真题81
   “一个接口只有方法的特征,没有方法的实现”,后面增加一句话“但是从Java8开始接口中的方法也可以实现
(6)真题109
  选项D中的“选项D覆盖定义了一个新的方法”修改为“选项D定义了一个新的方法
(7)真题198
  这一节中的讲解为String内部通过StringBuffer来实现的,把其中的StringBuffer修改为StringBuilder,因为内部是使用StringBuilder实现的
(8)真题201
 答案:“hello” 修改为   答案:hello
(9)真题205
String b=" Hello";  修改为 String b="Hello”;
(10)真题267
 “由于Hashtable是线程安全的,因此没有采用快速失败机制”
  修改为:
修改为:
 是否使用快速失败机制是与迭代器的实现方式有关系的。Hashtable的iterator遍历方式支持fast-fai,而Enumeration不支持fast-fail。在iterator的遍历方式中,从源代码的实现中可以发现,每次都会检查if (modCount != expectedModCount)是否满足。一旦发现HashTable中元素的数量改变了。就会抛出异常,因此使用了快速失败机制。 而Enumeration的遍历方式没有使用fast-fail。
(11)真题269
  被设计为用来写数据的泛型(只能写入T或T的子类类型),不能用来读。
  把“不能用来读”修改为“虽然也能读数据,只不过读出来的都是Object类型,因此很少被用来读
(12)真题289
示例代码修改为:

import java.util.*;
public class A 
{
public int hashCode() 
{
return 1;
}
public boolean equals (Object b){return true;}
public static void main(String args[]) 
{
Set set = new HashSet();
set.add(new A());
set.add(new A());
set.add(new A());
System.out.println(set.size());
}
}

13)真题321

Runable修改为Runnable

14)真题367

代码中的xtx修改为ctx

15)真题385

写法一中的  public Test(){}  修改为  private Test(){}


鲜花

握手

雷人

路过

鸡蛋

QQ|Archiver|手机版|小黑屋|猿媛之家    

GMT+8, 2018-10-19 13:45 , Processed in 0.075115 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回顶部