java面试宝典整理版PDF
### Java面试宝典知识点梳理 #### 一、访问修饰符的作用范围 - **Public**: 公开的,可以在任何地方被访问。 - **Protected**: 受保护的,只能在同一包内或者子类中访问。 - **Friendly (Default)**: 默认的,即不显式指定修饰符,仅在同一包内可见。 - **Private**: 私有的,只在声明它的类中可见。 | 访问级别 | 当前类 | 同一包 | 子孙类 | 其他包 | | --- | --- | --- | --- | --- | | Public | √ | √ | √ | √ | | Protected | √ | √ | √ | × | | Friendly | √ | √ | × | × | | Private | √ | × | × | × | | 不写 | √ | √ | × | × | #### 二、匿名内部类的特性和限制 - **特性**: - 匿名内部类是在定义时没有指定类名的内部类。 - 主要用于实现接口或继承抽象类。 - **限制**: - **无法继承其他类**,因为它本身就是作为某个类的内部类出现的。 - 可以实现接口。 - 常见于事件监听器等场景。 #### 三、静态内部类与非静态内部类的区别 - **静态内部类 (Static Nested Class)**: - 创建静态内部类的对象时,不需要外部类的对象。 - 不能直接访问外部类的非静态成员。 - **非静态内部类 (Inner Class)**: - 创建非静态内部类的对象时,需要外部类的对象。 - 可以直接访问外部类的所有成员,包括私有的。 #### 四、`&` 和 `&&` 的区别 - **`&`**: 按位与运算符,用于位运算。 - **`&&`**: 逻辑与运算符,用于逻辑判断。 - 在布尔表达式中,当左侧的操作数为假时,右侧的操作数将不会被计算。 #### 五、`Collection` 与 `Collections` 的区别 - **`Collection`**: - 是一个接口,位于 `java.util` 包中。 - 是所有单列集合的根接口。 - 主要有 `List` 和 `Set` 实现该接口。 - **`Collections`**: - 是一个工具类,也位于 `java.util` 包中。 - 提供了一系列静态方法来操作集合类,如排序、填充、查找等。 #### 六、`assert` 断言的使用 - **用途**: - 调试阶段确保程序的基本正确性。 - 断言用于确认程序状态是否符合预期。 - **执行条件**: - 默认情况下,编译器会移除断言语句,但在 `-ea` 或 `-enableassertions` 的情况下有效。 - **示例**: ```java assert x > 0 : "x 应该是正数"; ``` #### 七、`String` 对象的创建 - **示例**: ```java String s = new String("xyz"); ``` - **创建对象数量**: - 通过 `new String()` 创建了两个 `String` 对象。 - 一个字符串字面量 `"xyz"`。 - 一个新的 `String` 对象引用。 #### 八、`Math.round()` 方法的行为 - **行为**: - 对浮点数进行四舍五入处理。 - 参数加0.5后取整。 - **示例**: ```java Math.round(11.5); // 结果为 12 Math.round(-11.5); // 结果为 -11 ``` #### 九、`short` 类型的操作 - **错误示例**: ```java short s1 = 1; s1 = s1 + 1; // 错误,需要强制类型转换 s1 += 1; // 正确 ``` - **原因**: - `s1 + 1` 的结果默认为 `int` 类型,需要显式转换为 `short`。 - `+=` 运算符会自动进行类型转换。 #### 十、`goto` 关键字 - **Java中的状态**: - `goto` 是 Java 的保留关键字,但未被使用。 - Java 不支持 `goto` 语句。 #### 十一、`length` 属性与方法 - **数组**: - 使用 `length` 属性获取长度。 - **String**: - 使用 `length()` 方法获取长度。 #### 十二、重写与重载的区别 - **重写 (Overriding)**: - 发生在子类覆盖父类的方法。 - 参数列表必须相同。 - **重载 (Overloading)**: - 在同一个类中定义多个同名方法。 - 参数列表不同。 - **返回值类型**: - 重载允许返回不同的类型。 #### 十三、`Set` 中元素的唯一性 - **唯一性判断**: - 使用 `equals()` 方法来判断元素是否相同。 - `equals()` 方法通常用于比较对象的内容。 - `==` 用于比较对象引用是否指向同一个对象。 #### 十四、常见的 `RuntimeException` - **示例**: - `ArithmeticException`: 数学运算异常。 - `ArrayStoreException`: 数组存储异常。 - 更多常见的运行时异常还包括: - `NullPointerException`: 空指针异常。 - `IndexOutOfBoundsException`: 下标越界异常。 - `IllegalArgumentException`: 非法参数异常。 - `SecurityException`: 安全异常。
剩余107页未读,继续阅读
- hanlove1152014-03-11非常全面,很好的帮助了我,谢谢
- 粉丝: 1
- 资源: 52
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 个人实习的终极无敌面经
- 新年主题下的计算机资源利用与探索
- lianjia2.csv
- 2022年江苏省职业院校技能大赛中职网络搭建与应用赛项公开赛卷技能要求
- 毕设和企业适用springboot企业资源规划类及健康管理监控平台源码+论文+视频.zip
- 小功率调幅发射机设计报告(含各级电路的计算与调试)
- 基于 SSM + Shiro + Dubbo 的 RESTful Web 应用快速启动器资料齐全+详细文档.zip
- 基于 dubbo 实现的分布式电商平台资料齐全+详细文档.zip
- 基于 spring、dubbo 的分布式服务架构资料齐全+详细文档.zip
- 基于dubbo redis分布式定时回调服务资料齐全+详细文档.zip
- 基于atomikos的分布式事务管理资料齐全+详细文档.zip
- 基于Dubbo 2.6.6版本源码注释资料齐全+详细文档.zip
- 基于dubbo+sqlhint来实现的特殊数据库操作(比如:SQL语句路由)资料齐全+详细文档.zip
- 基于dubbo+zookeeper将”优雅的SSM框架“拆分为分布式架构资料齐全+详细文档.zip
- 基于dubbo、spring扩展实现的接入层灰度、服务层灰度、mq灰度、外部调用灰度,支持多套灰度环境(灰度系统)资料齐全+详细文档.zip
- 基于dubbo2.6.4的Dubbo TraceId的设置获取传递工具包资料齐全+详细文档.zip