实践题
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并没有改变。
6.
class Something {
int i;
public void doSomething() {
System.out.println("i = " + i);
}
}
有什么错呢? 看不出来啊。
答案: 正确。输出的是"i = 0"。int i属於instant variable (实例变量,或叫成员变量)。instant variable有default value。int的default value是0。
分享到:
相关推荐
### Java程序员面试陷阱大全 在Java编程领域,面试不仅是对技术知识的考验,更是对细节把握和陷阱识别能力的一次挑战。以下是从标题、描述、部分文件内容中提炼出的关键知识点,旨在帮助Java程序员深入理解并有效...
Java编程语言在面试中常常...了解这些面试陷阱并深入理解它们的工作原理对于Java程序员来说非常重要,可以帮助避免潜在的问题并在面试中展现出扎实的基础知识。在实际开发中,灵活运用这些概念可以提高代码质量和效率。
### Java程序员面试陷阱详解 #### 一、抽象类与抽象方法的理解 **知识点:** - **抽象类(Abstract Class):** 在Java中,抽象类是一种特殊的类,它不能被实例化,即不能创建抽象类的对象。抽象类通常包含一个或...
在Java程序员面试过程中,面试官可能会设置一些陷阱来测试应聘者的知识深度、问题解决能力以及对编程原理的理解。以下是一些常见的面试陷阱及其解析,帮助求职者更好地应对这些问题。 1. **异常处理陷阱**:面试官...
这份48页的PDF文档“Java程序员面试陷阱”旨在揭示这些问题,帮助求职者避免在关键面试时刻掉入这些误区。本文将深入探讨其中的关键知识点。 1. **基础概念陷阱**:面试中,Java的基础知识如类、对象、封装、继承、...
Java程序员在面试和笔试过程中经常会遇到一些看似简单实则暗藏陷阱的问题。这些题目旨在测试开发者对语言规范、面向对象编程原则以及最佳实践的理解。以下是对这些陷阱题的详细解析: 1. `abstract class Name { .....
精心收集了Java程序员的面试的相关资料,包含了Java程序员面试陷阱大全、大公司的Java面试题集、应聘Java笔试时可能出现问题及其答案、java华为面试题......很多很多,数不胜数,收集不容易,记得下载后顶一个。
《程序员面试宝典》一书聚焦于Java程序员的高级面试准备,提炼了32个典型且深入的问题,旨在帮助读者全面掌握Java的核心概念和技术细节,从而在面试中脱颖而出。下面,我们将逐一解析这些题目,深入探讨其中的知识点...
这份名为《JAVA程序员面试集锦(PDF)》的资料包,虽不似《JAVA程序员面试宝典》那般包罗万象,但对于提升程序员的面试技能与知识水平仍旧大有裨益。 首先,单项选择题.pdf的文档包含了大量关于Java语言的基础和进阶...
《JAVA程序员面试宝典 第4版》是Java开发者在求职面试过程中不可或缺的参考资料,由欧立奇编写。这本书全面覆盖了Java编程语言的核心概念、框架、设计模式以及面试中常见的问题,旨在帮助读者提升技术水平,顺利通过...
在Java程序员的面试过程中,经常会遇到一些技术陷阱,这些陷阱可能是面试官用来测试候选人的深入理解、问题解决能力以及对核心概念的掌握程度。以下是一些常见的Java技术陷阱及其解析: 1. **内存管理与垃圾回收** ...
最新Java程序员面试宝典.pdf Java-面试-个人简历范列.doc 主要是这些,本来我是不想赚积分的,可是我上传也不能设置积分,不然我就设置成免费的,个人工作经验俩年,毕业三年。是故找工作需要做一些准备工作,把我锁...
### Java程序员面试须知 在Java编程领域,面试不仅是对技术能力的一次检验,更是对基础知识、编程习惯以及解决问题思路的全面考察。以下是从“Java程序员面试须知”标题、描述及部分内容中提炼的关键知识点,旨在...
《Java程序员面试宝典2011最新出炉》是一份针对Java软件工程师的笔试与面试指南,涵盖了广泛的Java基础知识和面试常考问题。以下是对该资料中提及的一些关键知识点的详细解析: ### Java基础部分 #### 1\. 多个类...
Java程序员在面试中可能会遇到各种技术陷阱,这些陷阱涵盖了语言特性和常见的编程概念。以下是针对提供的部分内容进行的详细解析: 1. **final, finally, finalize的区别** - `final` 关键字用于声明不可变的类、...
在IT职场中,Java程序员面试是一项充满挑战的过程,面试官会设计各种问题来评估候选人的技术实力、逻辑思维以及问题解决能力。这篇文章将探讨Java面试中的一些常见陷阱,帮助求职者更好地准备面试。 首先,面试官...
Java编程语言在面试中常常涉及众多技术...以上就是Java面试中常见的技术陷阱和解析,理解并掌握这些概念对于成为一名合格的Java程序员至关重要。在面试中,能够深入解释这些知识点将展示出扎实的理论基础和技术实力。
Java程序员面试失败的原因通常涉及到多个方面,包括沟通技巧、技术知识掌握程度、代码编写能力、问题解决策略以及面试礼仪和态度。以下是对这些关键点的详细解析: 1. **沟通不足**:在面试中,面试官希望听到的是...