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面试中的陷阱 不错的java面试中的陷阱
JAVA面试陷阱是本人从网上摘得,为了换点资源分
java常见陷阱面试题 看完保证对你找工作有用!
集合了所有java面试中的陷阱问题及答案!
面试 陷阱 技巧 历史最全面的Java面试题 陷阱 和面试技巧
在面试java程序员时,面试官经常考的题目,这都是一些细节问题,但是如果不掌握好,可能面试就不会通过,这是我的一些经验,希望对大家有一点点帮助!
java陷阱常见面试题,包含java基础陷阱 java客户端陷阱 java服务器陷阱 等的讲解 和java常见面试题
Java 面试中的陷阱 word 格式 Java 面试中的陷阱
Java程序员面试陷阱大全.doc Java程序员面试陷阱大全.doc Java程序员面试陷阱大全.doc
Java面试---陷阱一箩筐-----------------------------
该文档讲述了java程序员常见的编程陷阱和一些面试指导
Java程序员面试陷阱大全
程序员面试技巧、Java开发常见面试题分析、Java基础方面陷阱、Java客户端方面陷阱、Java服务的方面陷阱、Java面试笔试大全程序员面试技巧、Java开发常见面试题分析、Java基础方面陷阱、Java客户端方面陷阱、Java服务...
Java面试指导视频,讲解的pppt 和源码, 01第一讲:Java基础方面陷阱 02第二讲:Java客户端方面陷阱 03第三讲:Java服务器端方面陷阱 04第四讲:程序员面试技巧 05第五讲:Java程序员常见笔试题分析 06第六讲:Java...
各种面试陷阱以及答案