Java面试常见问题解析
需积分: 8 159 浏览量
更新于2024-07-23
收藏 595KB DOC 举报
Java面试宝典
Java面试宝典是Java开发者的必备知识库,本文档涵盖了Java基础知识、Java语法、面向对象编程、多态、继承、接口、抽象类、内部类等方面的知识点,旨在帮助Java开发者快速掌握Java语言的基础知识,提高开发效率和代码质量。
一、Java基础知识
1. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
可以,在Java中,一个".java"源文件可以包括多个类,但只有一个public类,并且文件名必须与public类名相同。其他类可以是default或private的。
2. Java有没有goto?
Java中没有goto语句,但可以使用break、continue、return语句来控制程序的流程。
3. 说说&和&&的区别。
&是位运算符,用于执行按位与操作;&&是逻辑与运算符,用于执行逻辑与操作。
4. 在JAVA中如何跳出当前的多重嵌套循环?
可以使用break语句跳出当前循环,也可以使用return语句跳出当前方法。
5. switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
switch语句可以作用在byte、short、char、int类型上,但不能作用在long类型上。在Java 7中,switch语句可以作用在String类型上。
二、变量和数据类型
6. shorts1=1;s1=s1+1;有什么错?shorts1=1;s1+=1;有什么错?
前者错误因为short类型变量不能赋值给int类型变量,后者正确因为+=运算符可以自动进行类型转换。
7. char型变量中能不能存贮一个中文汉字?为什么?
char型变量可以存贮一个中文汉字,因为char类型可以存贮Unicode字符。
8. 用最有效率的方法算出2乘以8等於几?
可以使用左移运算符<<,2<<3等於16。
9. 请设计一个一百亿的计算器
可以使用BigInteger类或自定义计算器类来实现大数计算。
10. 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
使用final关键字修饰一个变量时,引用不能变,但引用的对象可以变。
十一、方法和函数
11. "=="和equals方法究竟有什么区别?
"=="运算符用于比较对象的引用是否相同,而equals方法用于比较对象的内容是否相同。
12. 静态变量和实例变量的区别?
静态变量属于类,实例变量属于对象。
十三、继承和多态
13. 是否可以从一个static方法内部发出对非static方法的调用?
不能,因为static方法属于类,而非static方法属于对象。
14. Integer与int的区别
Integer是int类型的包装类,int是基本数据类型。
十五、面向对象编程
15. Math.round(11.5)等於多少?Math.round(-11.5)等於多少?
Math.round(11.5)等於12,Math.round(-11.5)等於-11。
16. 下面的代码有什么不妥之处?
代码中可能存在null指针异常或类型转换异常。
十七、访问控制和继承
17. 请说出作用域public,private,protected,以及不写时的区别
public表示公共访问,private表示私有访问,protected表示保护访问,默认访问权限为default。
十八、方法重载和方法覆盖
18. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
Overload是方法重载,Override是方法覆盖,Overloaded的方法可以改变返回值的类型。
十九、构造器和接口
19. 构造器Constructor是否可被override?
不能,因为构造器不继承。
二十、抽象类和接口
20. 接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?
接口可以继承接口,抽象类可以实现接口,抽象类可以继承具体类。
二十一、clone方法
21. 写clone()方法时,通常都有一行代码,是什么?
super.clone()。
二十二、面向对象特征
22. 面向对象的特征有哪些方面?
封装、继承、多态、抽象。
二十三、多态机制
23. java中实现多态的机制是什么?
方法重写和方法重载。
二十四、抽象类和接口
24. abstract class和interface有什么区别?
抽象类可以包含部分实现,接口只能声明方法签名。
二十五、抽象方法
25. abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
不能,因为抽象方法不能是static、native或synchronized。
二十六、内部类
26. 什么是内部类?StaticNestedClass和InnerClass的不同。
内部类是定义在另一个类中的类,StaticNestedClass是静态内部类,InnerClass是非静态内部类。
二十七、内部类的限制
27. 内部类可以引用它的包含类的成员吗?有没有什么限制?
可以,但需要使用外部类的对象来访问内部类的成员。
二十八、匿名内部类
28. AnonymousInnerClass(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)其它接口?
可以。
2013-03-21 上传
2010-11-10 上传
2008-12-07 上传
2022-11-06 上传
2023-03-16 上传
2021-09-06 上传
2020-05-21 上传
Z海亮
- 粉丝: 7
- 资源: 5
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用