Java面试宝典2013精华:涵盖作用域、匿名类到assertions详解

5星 · 超过95%的资源 需积分: 6 1 下载量 105 浏览量 更新于2024-07-25 收藏 301KB DOC 举报
Java面试宝典2013版是一份实用的面试指南,旨在帮助求职者准备Java技术相关的面试。以下部分提炼出了一些关键知识点: 1. **作用域**:Java中的四种访问修饰符——public、protected、default (即不写时,默认为包内访问) 和 private,决定了类成员的可见性和访问范围: - public:在本类、同一包内的类以及所有包外类可见,允许实例化对象访问。 - protected:在本类、子类和同一包内类可见,仅限于同一个包或继承关系。 - default:仅在本类内部可见,如果在一个包内定义,则仅能被同包类访问。 - private:仅在定义它的类内部可见,对外部不可见。 2. **匿名内部类**:Java中的匿名内部类不能被继承,但可以实现接口。它们主要用于创建没有特定名称的小型、临时的类实例。 3. **Static Nested Class vs Inner Class**:Static Nested Class(静态内部类)与Inner Class(非静态内部类)的区别在于: - Static Nested Class 是独立于外部类的,不需要外部类实例即可创建,且不能访问非静态外部类的成员。 - Inner Class 需要外部类实例才能创建,可以访问外部类的所有成员,包括私有成员。 4. **位运算符与逻辑运算符**:"&"是位运算符,执行按位与运算,而"&&"是逻辑运算符,用于条件判断,执行逻辑与。 5. **Collection与Collections**:Collection是Java集合框架的顶级接口,包含了Set和List等子接口,表示一组元素。Collections是一个工具类,提供了对各种集合的操作方法,如排序、查找、线程安全处理等。 6. **使用assert**:assert用于在开发阶段进行错误检查,确保程序的基本正确性。在运行时,如果条件为假,程序会抛出AssertionError。在生产环境中,通常关闭assert功能以提高性能。 7. **String对象创建**:创建`Strings = new String("xyz")`会产生两个String对象,一个是原始字符串字面量,另一个是通过new关键字创建的副本,用于存储原始字符串的内容。这是因为String是不可变的,每次创建新实例都会创建新的对象。 这些知识点涵盖了Java语言的基础概念和面试中常见的问题类型,对于理解Java编程范式和准备面试至关重要。在准备Java面试时,掌握这些细节有助于提升自信心并展示对Java语言深入的理解。