Java面试宝典2013版2.doc
《Java面试宝典2013版2》涵盖了Java编程语言的基础知识和面试中常见的问题,以下是对这些知识点的详细解释: 1. 一个".java"源文件中可以包含多个类,但只能有一个公共类(public class),其他类可以是非公共类,如私有类(private class)或包访问类。公共类的名称应与文件名相同。 2. Java中没有`goto`关键字。Java的设计者们认为`goto`会导致程序难以理解和维护,因此在Java中被弃用。 3. `&`和`&&`都是逻辑运算符。`&`始终会计算两边的操作数,而`&&`(短路运算符)只有在必要时才会计算第二个操作数,这在进行条件判断时非常有用。 4. 要跳出多重嵌套循环,可以使用`break`语句配合标签(label)来实现。例如: ```java outer: for (...) { inner: for (...) { if (condition) { break outer; } } } ``` 5. `switch`语句不能直接作用于`byte`、`long`或`String`类型。但在Java 7及以后版本,`switch`可以用在`String`上;对于`byte`和`char`,可以通过`case`标签与`byte`或`char`对应的`int`值来实现;`long`则需要转换为`int`。 6. `short s1 = 1; s1 = s1 + 1;`这里的错误在于表达式`s1 + 1`的结果是`int`型,需要显式转换回`short`。正确做法:`s1 = (short) (s1 + 1);`。而`s1 += 1;`是合法的,编译器会自动处理类型转换。 7. `char`型变量可以存储一个中文汉字,因为UTF-16编码中一个字符可能占用两个字节,Java中的`char`恰好是16位,足以存储一个中文字符。 8. 计算2乘以8最有效率的方式是直接使用`*`运算符:`2 * 8`。 9. 设计一个一百亿的计算器,需要考虑大整数的处理,可以使用`BigInteger`类来处理超过`long`范围的大整数运算。 10. 使用`final`关键字修饰变量时,如果变量是基本类型,其值不能改变;如果是引用类型,引用本身不可变,但引用的对象内容可以改变。如果想让对象内容也不能改变,可以使用`final`修饰类的成员变量,并且该类实现`final`或`Immutable`接口。 11. `==`比较的是两个对象的引用,而`equals()`方法比较的是两个对象的内容。对于基本类型,`==`就是值比较;对于对象,`equals()`通常是重写过的,用于比较对象属性。 12. 静态变量(static)属于类,所有类的实例共享同一个静态变量;实例变量(非static)属于每个类的实例,每个实例有自己的副本。 13. 不可以从静态方法内部直接调用非静态方法,因为静态方法与类关联,而非静态方法与类的实例关联。需要先创建实例,然后通过实例调用非静态方法。 14. `Integer`是`int`的包装类,`int`是原始类型。`Integer`对象可以进行对象方法调用,如`equals()`,而`int`则不行。此外,`Integer`在一定范围内(-128到127)有缓存,相等的`Integer`对象可能是同一个。 15. `Math.round(11.5)`等于12,`Math.round(-11.5)`等于-11。`Math.round()`方法会将浮点数四舍五入为最接近的整数。 16. 下面的代码可能存在类型不匹配的问题: ```java String s = null; if (s == null || s.isEmpty()) { // ... } ``` 在Java中,`s.isEmpty()`会在`s`为`null`时抛出`NullPointerException`,应该先检查`s`是否为`null`。 17. `public`、`private`、`protected`和默认(包访问)作用域分别表示全局可见、仅本类可见、同一包内可见和仅本类及子类可见。不写时默认为包访问。 18. Overload(重载)是方法名相同但参数列表不同的多态形式,返回值类型不影响方法重载。Override(重写)是子类重新定义父类方法的行为,要求方法名、参数列表完全一致,且子类方法不能降低访问权限,不能抛出更宽泛的异常。 19. 构造器(Constructor)不能被`override`,但可以被重载。子类可以有与父类构造器签名相同的方法,但这不是覆盖,而是方法重载。 以上内容只是《Java面试宝典2013版2》的部分知识点,实际面试中可能还会涉及更多Java语言特性和设计模式等内容。学习和掌握这些知识点有助于在面试中脱颖而出。
剩余63页未读,继续阅读
- zuozhong20072013-12-17这是10版的,但是毕竟不错!
- Lenhart_wang2015-07-07虽然比较早,但整理的非常好,比较全面
- 渠天首2013-11-12整理的很全面,很不错!
- taolau2013-12-25很明显这不是最新的,几年前就见过。
- KidThinking2013-11-25巨扯蛋,10版改了个标题就成13版了?
- 粉丝: 11
- 资源: 55
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 机械手自动排列控制PLC与触摸屏程序设计
- uDDS源程序publisher
- 中国风格, 节日 主题, PPT模板
- 生菜生长记录数据集.zip
- 微环谐振腔的光学频率梳matlab仿真 微腔光频梳仿真 包括求解LLE方程(Lugiato-Lefever equation)实现微环中的光频梳,同时考虑了色散,克尔非线性,外部泵浦等因素,具有可延展
- 企业宣传PPT模板, 企业宣传PPT模板
- jetbra插件工具,方便开发者快速开发
- agv 1223.fbx
- 全国职业院校技能大赛网络建设与运维规程
- 混合动力汽车动态规划算法理论油耗计算与视频教学,使用matlab编写快速计算程序,整个工程结构模块化,可以快速改为串联,并联,混联等 控制量可以快速扩展为档位,转矩,转速等 状态量一般为SOC,目