◆[转]Java面试陷阱第二波

转载 2004年09月22日 16:21:00
1.

abstract class Name {

   private String name;

   public abstract boolean isStupidName(String name) {}

}

大侠们,这有何错误?

答案: 错。abstract method必须以分号结尾,且不带花括号。

2.

public class Something {

   void doSomething () {

       private String s = "";

       int l = s.length();

   }

}

有错吗?

答案: 错。局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量
(final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。

3.

abstract class Something {

   private abstract String doSomething ();

}

这好像没什么错吧?

答案: 错。abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节的,怎么可以用private把abstract
method封锁起来呢? (同理,abstract method前不能加final)。

4.

public class Something {

   public int addOne(final int x) {

       return ++x;

   }

}

这个比较明显。

答案: 错。int x被修饰成final,意味着x不能在addOne method中被修改。

5.

public class Something {

   public static void main(String[] args) {

       Other o = new Other();

       new Something().addOne(o);

   }

   public void addOne(final Other o) {

       o.i++;

   }

}

class Other {

   public int i;

}

和上面的很相似,都是关于final的问题,这有错吗?

答案: 正确。在addOne method中,参数o被修饰成final。如果在addOne method里我们修改了o的reference
(比如: o = new Other();),那么如同上例这题也是错的。但这里修改的是o的member vairable
(成员变量),而o的reference并没有改变。

java面试题的陷阱

1.abstract class Name { private String name; public abstract boolean isStupidName(String name) {}}错。...
  • zerowzj
  • zerowzj
  • 2008年04月03日 10:16
  • 933

【笔试面试】第二波

1、List遍历时删除的几种方式比较1.1、会报错的删除方式:(1)在Iterator遍历时使用list删除Iterator it = list.iterator(); while(...
  • u014277445
  • u014277445
  • 2016年08月02日 17:02
  • 161

一起来谈谈,面试中的那些“陷阱问题”

1. 前言众所周知,我们在面试的时候,HR 会通过各种各样的问题来“刁难”你。但是面对这些问题,每个人的反应会各不相同,HR 也就能以此来推断出你平时大概是个什么样子的人,并考虑你是否合适这个职位。可...
  • MR_LP
  • MR_LP
  • 2016年12月21日 11:46
  • 2848

java笔记之byte的面试题案例分析

前言 这里只举例简单的数据类型的byte,其他的数据类型类似。 主要分为 byte的案例分析和数据类型的笔记两部分 正文 byte的案例分析 1. byte n=10+127; ...
  • u011018979
  • u011018979
  • 2014年03月25日 12:03
  • 1251

逻辑(面试)题目中的陷阱

2007年05月20日 23:18:00 [原文地址:关于逻辑学的文章zz ]正如充满正义感的人无法容忍犯罪的发生,富于美感的人不能包容丑陋和瑕疵一样,一个逻辑严谨的人是没办法忍受哪怕一点点逻...
  • softart
  • softart
  • 2007年10月27日 20:35
  • 436

Java中的陷阱

Java中创建对象的常规方式有如下5种:           1. 通过new调用构造器创建Java对象;         2. 通过Class对象的newInstance()方法调用构造器创建对象;...
  • geloin
  • geloin
  • 2013年11月06日 14:05
  • 2291

Java中的陷阱题

1、找奇数:public static boolean isOdd(int i){ return i % 2 == 1; }上面的方法真的能找到所有的奇数么?A:没有考虑...
  • hutongling
  • hutongling
  • 2017年04月28日 16:14
  • 249

JAVA编程一些必须注意小心的陷阱

《Java Puzzlers》(中文译名《Java解惑》),一句话,好书,有趣,短小精悍的行文,主要是介绍JAVA编程一些必须注意小心的陷阱(trap)。第一章:表达式之谜,俺只记下一些有趣的例子,很...
  • thinkpadleo
  • thinkpadleo
  • 2006年05月04日 09:36
  • 886

JAVA EE 错误收集第二波

  • JAVAZHICHIZHE
  • JAVAZHICHIZHE
  • 2009年05月15日 22:37
  • 372

for循环陷阱

for循环的个人理解
  • jiao142857
  • jiao142857
  • 2015年04月24日 16:20
  • 239
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:◆[转]Java面试陷阱第二波
举报原因:
原因补充:

(最多只允许输入30个字)