Java面试必备知识点:基础篇
需积分: 9 59 浏览量
更新于2024-07-22
收藏 590KB DOC 举报
"这是一份2013年的Java面试基础题集,涵盖了Java语言的基础知识,包括语法、数据类型、运算符、控制结构、类和对象、接口、多态等方面的问题,旨在帮助学习者复习和巩固Java编程的核心概念。"
1. 一个".java"源文件中可以包含多个类,但只能有一个公共类(public class),其他类可以是非公共的(非public)。
2. Java中没有goto语句,它鼓励使用结构化的控制流。
3. &是按位与运算符,&&是逻辑与运算符。&会始终计算两边的操作数,而&&会根据第一个操作数的真假决定是否计算第二个操作数,这是短路逻辑。
4. 要跳出多重嵌套循环,可以使用标签(label)配合break语句,如:`outer: for (...) { inner: for (...) { ... break outer; } }`
5. switch语句可以作用于byte、char、short和int类型,Java 7及以后版本支持enum,但不支持long和String。
6. 第二个例子`s1+=1`是正确的,因为它会自动提升short到int进行运算再赋值,而第一个例子`s1=s1+1`会直接导致编译错误,因为结果是int类型无法直接赋值给short。
7. char型变量可以存储一个中文汉字,因为Java的char类型是16位Unicode编码,足以表示大部分汉字。
8. 计算2乘以8的最有效率方式是直接使用`2 * 8`,因为这是编译器优化过的操作。
9. 设计一个一百亿的计算器要考虑数值溢出问题,可能需要使用BigInteger类处理大整数运算。
10. 使用final关键字修饰变量,意味着其引用一旦初始化后不能改变,对于基本类型,值不能改变;对于对象,引用不能指向其他对象,但对象内容可以修改。
11. "=="比较的是两个变量的引用是否相同,而equals方法用于比较两个对象的内容是否相等。
12. 静态变量属于类,生命周期与类相同,而实例变量属于对象,随对象创建和销毁。
13. 不可以从static方法内部直接调用非static方法,因为非static方法依赖于对象实例。
14. Integer是int的包装类,它们之间存在自动装箱拆箱,但性能和内存占用上有差异,Integer在某些情况下会有缓存优化。
15. Math.round(11.5)等于12,Math.round(-11.5)等于-11,round方法四舍五入到最接近的整数。
16. 缺失代码,无法判断不妥之处。
17. public、private、protected分别代表公开、私有、受保护的访问权限,不写时表示包内可见。
18. Overload是重载,可以改变参数列表,但不能改变返回值类型。Override是重写,必须保持方法签名一致。
19. 构造器不能被override,但可以被重载。
20. 接口可以继承接口,抽象类可以实现接口,但抽象类不能继承具体类,抽象类可以有静态的main方法。
21. 实现克隆时,通常会包含`super.clone()`来调用父类的克隆方法。
22. 面向对象的特征包括封装、继承、多态。
23. Java中的多态是通过方法的重写(Override)和向上转型(Upcasting)实现的。
24. abstract class可以包含抽象方法和非抽象方法,而interface只能包含抽象方法,且方法默认是public和abstract的。
25. abstract method不能是static或native,也不能是synchronized,因为这些特性与抽象方法的定义相冲突。
26. 内部类是定义在另一个类内部的类,StaticNestedClass是静态内部类,不需要外部类的实例即可创建,而InnerClass是普通内部类,需要外部类的实例。
27. 内部类可以引用包含类的成员,包括私有成员,但静态内部类不能直接访问非静态成员,需要通过外部类实例访问。
28. 匿名内部类可以直接继承一个类或实现一个接口,无需声明名称。
143 浏览量
2021-09-14 上传
2012-05-19 上传
2009-11-02 上传
2023-02-13 上传
2023-02-13 上传
2022-09-20 上传
点击了解资源详情
悲催的孩
- 粉丝: 19
- 资源: 23
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查