2010年Java面试必看:基础到高级知识点全梳理
需积分: 3 55 浏览量
更新于2024-07-31
收藏 657KB DOC 举报
"Java面试题2010年最新汇总,涵盖了Java基础知识、语法特性、类与对象、接口、多态、内部类等多个方面的问题,旨在帮助求职者准备Java编程的面试。"
以下是对给定文件中部分Java面试题的详细解答:
1. 一个".java"源文件中可以包含多个类,但只能有一个公共类(public class),其他的类可以是非公共类(如private或默认访问级别)。
2. Java没有goto语句,这是为了保持代码的结构清晰和可读性。
3. &和&&的主要区别在于短路逻辑。&是逻辑与运算符,无论条件是否为真都会执行两边的表达式;而&&也是逻辑与,但只有当左侧表达式为真时才会执行右侧表达式。
4. 要跳出多重嵌套循环,可以使用label语句配合break,如`outer: for {...} inner: for {...} { if (condition) break outer; }`。
5. switch语句不能作用于byte,因为Java 7之前switch只支持byte, char, short, int和枚举类型,但Java 7以后可以用于String。
6. 对于short s1=1; s1=s1+1; 会引发编译错误,因为结果会自动提升为int。而s1+=1则会被编译器自动处理为short类型的加法。
7. char型变量可以存储一个中文汉字,因为一个中文汉字在Unicode编码中通常占两个字节,Java的char类型正好是16位,可以表示大部分Unicode字符。
8. 最有效率的方式计算2乘以8是直接赋值:`int result = 2 * 8;`
9. 设计一个一百亿的计算器要考虑数据类型的选择,避免整数溢出,可能需要使用BigInteger类。
10. 使用final关键字修饰变量时,引用本身不能改变,但引用的对象是可以改变的,除非对象也是final的。
11. "=="比较的是两个变量的引用,而equals方法比较的是两个对象的内容。对于基本类型,"=="就是内容比较;对于对象,需要重写equals方法来实现内容比较。
12. 静态变量属于类,而实例变量属于类的实例。静态变量可以被类的所有实例共享,而实例变量是每个实例独有的。
13. 不能从一个静态方法内部直接调用非静态方法,因为静态方法属于类,而非静态方法属于实例。
14. Integer是int的包装类,它们一个是对象,一个是基本类型。Integer对象的比较默认使用equals方法,而int之间的比较使用"=="。
15. Math.round(11.5)等于12,Math.round(-11.5)等于-11。
16. 下面的代码可能存在类型不匹配或者编译错误,具体要看缺失的代码内容。
17. public表示全局可访问,private表示仅限本类访问,protected表示本包和子类可访问,无修饰符的表示同包内可访问。
18. Overload(重载)允许方法有不同的参数列表,返回类型不能作为重载的依据。Override(覆盖)是指子类重写父类的同名方法,必须保持方法签名一致。
19. 构造器不能被override,但可以被重载。
20. 接口可以继承接口。抽象类可以实现接口,但抽象类不能继承具体类。抽象类中可以有静态的main方法,但不会作为程序入口。
21. 实现克隆时,通常会调用super.clone()来创建一个新的对象并复制原有对象的内容。
22. 面向对象的特征包括封装、继承、多态。
23. Java通过方法的重写(Override)和多态性来实现多态。
24. abstract class和interface都可以作为抽象类,但interface中所有方法默认都是抽象的,不能有实现;而abstract class可以包含非抽象方法。
25. abstract method不能同时是static,因为静态方法属于类,而抽象方法属于类的实例。也不能同时是native,因为native方法的实现是在C/C++中。同样,也不能同时是synchronized,因为同步方法不能是抽象的。
26. 内部类是定义在一个类内部的类,可以分为非静态内部类(InnerClass)和静态内部类(StaticNestedClass)。非静态内部类可以直接访问外部类的成员,而静态内部类只能访问外部类的静态成员。
27. 内部类可以引用它的包含类的成员,但不能引用包含类的局部变量,除非这些变量是final的。
28. AnonymousInnerClass(匿名内部类)是在没有显式类名称的情况下定义的类,常用于简化代码和实现回调。
2023-03-29 上传
2023-08-28 上传
2023-09-01 上传
2023-09-07 上传
2023-09-05 上传
2023-09-01 上传
junyh
- 粉丝: 0
- 资源: 6
最新资源
- 明日知道社区问答系统设计与实现-SSM框架java源码分享
- Unity3D粒子特效包:闪电效果体验报告
- Windows64位Python3.7安装Twisted库指南
- HTMLJS应用程序:多词典阿拉伯语词根检索
- 光纤通信课后习题答案解析及文件资源
- swdogen: 自动扫描源码生成 Swagger 文档的工具
- GD32F10系列芯片Keil IDE下载算法配置指南
- C++实现Emscripten版本的3D俄罗斯方块游戏
- 期末复习必备:全面数据结构课件资料
- WordPress媒体占位符插件:优化开发中的图像占位体验
- 完整扑克牌资源集-55张图片压缩包下载
- 开发轻量级时事通讯活动管理RESTful应用程序
- 长城特固618对讲机写频软件使用指南
- Memry粤语学习工具:开源应用助力记忆提升
- JMC 8.0.0版本发布,支持JDK 1.8及64位系统
- Python看图猜成语游戏源码发布