Java 面试题涵盖了许多核心概念,这对于理解Java编程语言的特性和最佳实践至关重要。以下是一些关键知识点的详细说明: 1. **访问修饰符**: - `public`:可从任何地方访问。 - `private`:只能在定义它的类内部访问。 - `protected`:在同一包内或子类中可访问。 - 默认(friendly):在同一包内可访问,不导出到其他包。 2. **匿名内部类**: - 可以实现接口,但不能继承其他类。 3. **静态嵌套类(Static Nested Class)与内部类(Inner Class)**: - 静态嵌套类不持有对外部类的引用,而内部类则有。 - 创建静态嵌套类的对象不需要外部类对象,可以直接通过类名创建。 - 内部类需要外部类对象实例化。 4. **位运算符与逻辑运算符**: - `&` 是位运算符,对每个比特位执行 AND 操作。 - `&&` 是逻辑运算符,当左侧表达式为假时,不会评估右侧表达式。 5. **Collection 与 Collections**: - Collection 是所有集合框架接口的根接口,包括 Set 和 List。 - Collections 是工具类,提供了一系列静态方法用于集合的处理,如排序、查找、线程安全化等。 6. **断言(Assertion)**: - 用于开发和测试阶段,用于验证程序状态。 - 生产环境中通常关闭断言以优化性能。 7. **String 对象的创建**: - `new String("xyz")` 创建了两个对象:一个字符串常量池中的"xyz",一个堆上的String实例。 8. **Math.round() 方法**: - Math.round(11.5) 返回 12,因为 round 方法会向最近的整数取整,正数偏向于较大整数。 - Math.round(-11.5) 返回 -11,负数偏向于较小整数。 9. **short 类型变量的赋值**: - `s1 = s1 + 1` 错误,因为 s1+1 的结果是 int 类型,需要显式转换回 short。 - `s1 += 1` 正确,因为编译器会自动处理类型转换。 10. **goto 关键字**: - Java 中的 goto 是预留关键字,但未被使用。 11. **length 方法**: - 数组没有 length() 方法,但有一个 length 属性。 - String 类有 length() 方法,返回字符串的字符数。 12. **重载(Overloading)与重写(Overriding)**: - 重载发生在同一类中,方法名相同但参数列表不同。 - 重写发生在父类和子类之间,方法名、参数列表和返回类型必须完全匹配。 - 重载方法可以改变返回类型,但重写方法不能。 这些面试题覆盖了基础语法、面向对象、集合框架、异常处理和多态性等多个核心领域,对于准备Java面试和提升编程技能都非常有帮助。理解并熟练掌握这些知识点将有助于在实际编程中写出更高效、更健壮的代码。
剩余9页未读,继续阅读
- 粉丝: 13
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助