Java面试必备知识点:作用域、匿名内部类与静态嵌套类解析

5星 · 超过95%的资源 需积分: 6 5 下载量 187 浏览量 更新于2024-07-27 收藏 301KB DOC 举报
"Java面试宝典2012版" Java面试是评估求职者技能的关键环节,这本书涵盖了Java入职面试的核心题型,包括面试问答和笔试题目,旨在帮助应试者快速提升面试准备和积累经验。以下是一些关键的Java知识点: 1. **访问修饰符的区别**: - `public`:所有类都可以访问。 - `protected`:同包及子类可以访问。 - `friendly`(默认):只有同包内的类可以访问。 - `private`:仅限于本类内部访问。 - 不写修饰符时,默认为`friendly`。 2. **匿名内部类**: - 匿名内部类没有名称,可以直接实现接口或继承抽象类。 - 它不能继承其他类,但可以作为一个接口被其他内部类实现。 3. **静态内部类(Static Nested Class)与普通内部类(Inner Class)**: - 普通内部类有对外部类的隐含引用,而静态内部类没有。 - 静态内部类可以在没有外部类实例的情况下创建对象。 - 静态内部类不能直接访问外部类的非静态成员。 4. **位运算符`&`与逻辑运算符`&&`**: - `&`是位运算符,对两个操作数的每一位进行与运算,结果也是位运算。 - `&&`是逻辑与运算符,只有当第一个操作数为真时,才会计算第二个操作数。 5. **Collection与Collections的区别**: - `Collection`是所有集合类的父接口,包括`Set`和`List`。 - `Collections`是一个工具类,提供了对集合进行操作的静态方法,如排序、搜索、线程安全化等。 6. **断言(Assertion)的使用**: - 断言用于在开发和测试阶段检查代码的正确性。 - `assert`语句用于确保特定条件始终为真,若条件为假,则抛出异常。 - 在生产环境中,断言通常是关闭的,以避免影响性能。 7. **String对象的创建**: - 当创建`Strings = new String("xyz");`时,会创建两个`String`对象。一个是常量池中的"xyz",另一个是通过`new`关键字创建的新对象。 这些知识点是Java面试中常见的问题,理解并掌握它们对于准备Java面试至关重要。此外,面试还可能涉及其他主题,如异常处理、多线程、IO流、设计模式、JVM内存模型等。深入理解和实践这些概念,将有助于在面试中表现出色。