Java面试常见问题解析:Math.round、addAll与泛型

需积分: 1 1 下载量 117 浏览量 更新于2024-07-18 收藏 83KB DOC 举报
"Java面试常见问题与解析" 在Java面试中,面试官常常会提出一些核心概念和技术细节的问题,以评估应聘者的技能水平和对语言的理解。以下是一些常见的Java面试知识点: 1. `Math.round()` 方法:此方法用于四舍五入一个浮点数。如题目所示,`Math.round(11.5)` 返回 12,因为 11.5 加上 0.5 后变为 12,然后向下取整。相反,`Math.round(-11.5)` 返回 -11,因为 -11.5 加 0.5 是 -11,同样向下取整。 2. `addAll(int index, Collection<? extends E> c)`:这是Java集合框架中`List`接口的一个方法,它的作用是在指定的索引`index`处插入集合`c`的所有元素。`? extends E` 表示`c`中的元素类型是`E`或其子类。如果插入成功,该方法返回`true`,否则返回`false`。 3. `char` 类型与中文字符:在Java中,`char` 类型占用两个字节,因此它可以存储一个中文汉字。因为一个中文汉字通常需要两个字节来表示。 4. 数组与`String`的`length()`方法:数组不具有`length()`方法,但有一个`length`属性,可以获取数组元素的数量。相反,`String` 类有`length()`方法,它返回字符串的字符数量。 5. 不可继承的`String`类:`String` 类在Java中被声明为`final`,这意味着它不能被继承。`final` 关键字确保了类的不可变性和安全性。 6. 抽象类与接口的异同: - **不同点**: - 抽象类可以包含非抽象方法(已实现的方法),而接口的所有方法默认都是抽象的。 - 抽象类可以实现接口,但接口不能继承抽象类,接口之间可以实现多重继承。 - 抽象类实现接口时,不一定需要完全实现接口的所有方法,子类可以继续实现未实现的方法。接口的实现类必须实现所有接口方法。 - **相同点**: - 都不能被直接实例化,需要通过继承来实现它们的抽象方法。 - 在设计模式中都扮演着重要的角色,是实现抽象和多态的基础。 以上是Java面试中可能会遇到的一些关键点,了解并掌握这些知识点对于应对面试至关重要。在准备面试时,除了这些基础知识,还应关注并发、集合框架、异常处理、设计模式、JVM内存模型以及最新的Java特性等主题。