Java软件工程师面试宝典:21道经典面试题解析
需积分: 9 88 浏览量
更新于2024-07-30
收藏 1.97MB PDF 举报
Java面试宝典
本资源摘要信息涵盖了Java面试的各种知识点,涵盖了Java基础、面向对象编程、多态、继承、接口、抽象类、构造器、方法、变量、数据类型、操作符、控制流程、异常处理等多个方面。
一、Java基础
1. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
Java源文件可以包括多个类,但是只能有一个public类,且文件名必须与public类名相同。
2. Java有没有goto?
Java没有goto语句,但是可以使用break、continue、return等语句来控制流程。
3. 说说&和&&的区别。
&是位运算符,&&是逻辑与运算符。&运算符对两个操作数进行按位与运算,而&&运算符则是短路与运算,左边操作数为false时不再计算右边操作数。
4. 在JAVA中如何跳出当前的多重嵌套循环?
可以使用标签break语句或return语句来跳出当前的多重嵌套循环。
5. switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
switch语句可以作用在byte、short、char、int类型上,但不能作用在long类型上,也不能作用在String类型上。
6. shorts1=1;s1=s1+1;有什么错?shorts1=1;s1+=1;有什么错?
short类型变量不能直接与整数常量相加,需要强制类型转换。s1+=1;语句可以正确执行,因为+=运算符会自动执行强制类型转换。
7. char型变量中能不能存贮一个中文汉字?为什么?
char类型变量可以存贮一个中文汉字,因为Java使用Unicode字符集,每个字符占用两个字节,可以存贮中文汉字。
8. 用最有效率的方法算出2乘以8等於几?
可以使用左移运算符<<,2<<3等於16。
9. 请设计一个一百亿的计算器
可以使用BigInteger类或自己实现一个大数字运算类来设计一个一百亿的计算器。
二、面向对象编程
10. 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
使用final关键字修饰一个变量时,意味着该变量的引用不能变,但可以改变引用的对象的内容。
11. "=="和equals方法究竟有什么区别?
"=="运算符比较两个对象的引用是否相等,而equals方法比较两个对象的内容是否相等。
12. 静态变量和实例变量的区别?
静态变量属于类,实例变量属于对象。静态变量只有一份拷贝,而实例变量每个对象都有一份拷贝。
13. 是否可以从一个static方法内部发出对非static方法的调用?
不能从一个static方法内部发出对非static方法的调用,因为static方法属于类,而非static方法属于对象。
14. Integer与int的区别。
Integer是int类型的封装类,Integer对象可以为空,而int类型不能为空。
15. Math.round(11.5)等於多少?Math.round(-11.5)等於多少?
Math.round(11.5)等於12,Math.round(-11.5)等於-11。
三、继承和多态
16. 下面的代码有什么不妥之处?
代码中可能存在继承和多态相关的问题,需要根据具体情况分析。
17. 请说出作用域public,private,protected,以及不写时的区别
public表示公开访问,private表示私有访问,protected表示保护访问,不写时表示包访问。
18. Overload和Override的区别。
Overload是方法重载,Override是方法重写。Overload是编译时多态,Override是运行时多态。
19. 构造器Constructor是否可被override?
构造器不能被override,因为构造器的名称必须与类名相同。
20. 接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类?
接口可以继承接口,抽象类可以实现接口,抽象类可以继承具体类。
21. 写clone()方法时,通常都有一行代码,是什么?
通常都是一行super.clone()代码。
22. 面向对象的特征有哪些方面
面向对象的特征有继承、多态、封装、抽象等方面。
23. java中实现多态的机制是什么?
Java中实现多态的机制是通过方法重写和方法重载来实现的。
24. abstractclass和interface有什么区别?
abstract class可以有构造器和非抽象方法,而interface只能有抽象方法和静态变量。
25. abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
abstract方法不能同时是static、native或synchronized,因为abstract方法需要被子类实现,而static、native和synchronized方法不能被子类实现。
26. 什么是内部类?StaticNestedClass和InnerClass的不同。
内部类是定义在另外一个类中的类。StaticNestedClass是静态内部类,InnerClass是非静态内部类。
27.
...
2017-12-15 上传
2023-11-16 上传
2018-01-22 上传
2018-09-10 上传
2024-10-27 上传
2024-10-27 上传
2024-10-27 上传
2024-10-27 上传
2024-10-27 上传
ht410687456
- 粉丝: 0
- 资源: 2
最新资源
- C++ Qt影院票务系统源码发布,代码稳定,高分毕业设计首选
- 纯CSS3实现逼真火焰手提灯动画效果
- Java编程基础课后练习答案解析
- typescript-atomizer: Atom 插件实现 TypeScript 语言与工具支持
- 51单片机项目源码分享:课程设计与毕设实践
- Qt画图程序实战:多文档与单文档示例解析
- 全屏H5圆圈缩放矩阵动画背景特效实现
- C#实现的手机触摸板服务端应用
- 数据结构与算法学习资源压缩包介绍
- stream-notifier: 简化Node.js流错误与成功通知方案
- 网页表格选择导出Excel的jQuery实例教程
- Prj19购物车系统项目压缩包解析
- 数据结构与算法学习实践指南
- Qt5实现A*寻路算法:结合C++和GUI
- terser-brunch:现代JavaScript文件压缩工具
- 掌握Power BI导出明细数据的操作指南