Java编程基础复习要点与面试题解析
需积分: 7 58 浏览量
更新于2024-07-28
收藏 559KB DOC 举报
"这是针对2011版Java复习的一份文档,涵盖了Java基础知识,包括语法、数据类型、类和对象、多态性、接口、内部类等核心概念。"
1. 一个".java"源文件中可以包含多个类,但只能有一个公共类(public class),其他非公共类没有限制。
2. Java中没有`goto`语句,它被设计为避免无尽的跳转导致的复杂性。
3. `&`是位运算符,而`&&`是逻辑运算符。位运算符用于处理二进制位,逻辑运算符用于条件判断,短路特性使得`&&`在左侧表达式为假时,不会评估右侧表达式。
4. 要跳出多重嵌套循环,可以使用`break`配合标签(label)来实现。
5. `switch`语句不能作用于`long`类型,但在Java 7之后可以作用于`byte`, `short`, `char`以及枚举类型。Java 14之后,`switch`也可以作用于`String`类型。
6. 在`short s1 = 1`的情况下,`s1 = s1 + 1`会引发类型提升错误,因为加法操作结果是`int`类型。而`s1 += 1`会自动转换回`short`类型。
7. `char`型变量可以存储单个Unicode字符,因此可以存储中文汉字,因为中文汉字在Unicode编码中占据一个或两个字符。
8. 计算2乘以8最有效率的方式是直接使用`2 * 8`。
9. 设计一个一百亿的计算器要考虑数值溢出问题,可能需要使用大数处理类如`BigInteger`。
10. 使用`final`修饰变量时,意味着引用不可变,即不能指向其他对象,但如果引用的是一个对象,该对象的内容可以改变。
11. `"=="`比较的是对象的引用,而`equals()`方法通常比较的是对象的内容。
12. 静态变量属于类,实例变量属于对象。静态变量在所有类实例之间共享,而实例变量是每个实例独有的。
13. 不可以从`static`方法内部直接调用非`static`方法,因为非`static`方法依赖于对象实例。
14. `Integer`是`int`的包装类,它们之间存在自动装箱和拆箱。`Integer`提供了额外的方法和功能,而`int`是基本数据类型。
15. `Math.round(11.5)`等于12,`Math.round(-11.5)`等于-11。
16. 代码不妥之处可能涉及变量声明、类型转换、异常处理等问题,需要具体代码分析。
17. `public`、`private`、`protected`和默认访问修饰符分别代表了不同的访问权限:`public`可从任何地方访问,`private`仅在类内部访问,`protected`在包内和子类中访问,不写则默认为包内访问。
18. `Overload`是重载,表示多个同名方法,参数列表不同;`Override`是重写,子类方法覆盖父类方法,保持方法签名一致。重载不改变返回值类型。
19. 构造器不能被`override`,但可以被`overload`。
20. 接口可以继承接口,抽象类可以实现接口,但不能继承具体类。抽象类中可以有静态的`main`方法,但无法作为程序入口。
21. 写`clone()`方法时,通常会调用`super.clone()`来创建一个新的对象。
22. 面向对象的特征包括封装、继承、多态。
23. Java通过方法重写和父类引用子类对象实现多态。
24. `abstract class`可以包含方法实现,而`interface`只能声明方法,不能实现。抽象类可以有构造器,而接口没有。
25. 抽象方法不能同时是`static`、`native`或`synchronized`,因为这些修饰符与抽象方法的定义相冲突。
26. 内部类是定义在一个类内部的类,StaticNestedClass是静态内部类,不依赖于外部类的实例,而InnerClass是非静态内部类,需要外部类实例才能创建。
27. 内部类可以引用包含类的成员,包括私有成员,但不能访问静态成员,除非通过包含类的实例引用。
28. 匿名内部类不能直接扩展其他类,但可以实现接口。它可以隐式实现一个接口,而无需给出接口名称。
这份复习资料旨在帮助学习者巩固Java编程的基础知识,包括语言特性和面向对象的设计原则,为面试和实际开发做好准备。
2014-02-27 上传
115 浏览量
2021-09-30 上传
2011-01-23 上传
2022-06-10 上传
2022-06-10 上传
2022-06-10 上传

xd811816
- 粉丝: 6
最新资源
- 后端开发实践:快速搭建与库依赖管理
- 蓝牙测试应用与OCX组件在Win10中的应用
- FastReport2.51源码版:老版本报表工具的开发资源
- 未测试的Zencart MagicZoomPlus模块介绍
- 巴拉圭地理数据API的安装与配置教程
- TeslaCam视频文件管理新工具:teslacam-browser
- 创新设计论文答辩极简风PPT模板
- 俄罗斯方块游戏源码解析与实现
- 韩顺平PHP教程笔记:从零基础到专业精通
- Java客户端与Go服务端联调错误分析及解决方法
- 掌握Twisted网络编程基础:Python编程入门案例解析
- UDP测试工具:通信领域新利器
- CAN-bus通用测试软件CANtestV2.33介绍
- Aave FlashLoan在Gitcoin Web3 World中的应用和套利机器人开发
- 简约欧美风海滨小镇商务工作汇报PPT模板
- 简易赛事QR码验证系统的设计与实现