Java面试必备知识:基础篇
需积分: 45 173 浏览量
更新于2024-07-19
收藏 1.2MB PDF 举报
"Java面试宝典2018版,包含Java面试常见问题及解答,涵盖基础、语法、面向对象、类与接口等多个方面。"
Java面试中的关键知识点包括:
1. **Java源文件与类的关系**:一个.java源文件可以包含多个类,但只能有一个公开的(public)类,其他非公开类没有限制。
2. **goto关键字**:Java中没有goto关键字,它是一种流程控制语句,在Java中被摒弃。
3. **逻辑运算符&和&&**:&是逻辑与运算符,无论两侧表达式是否为真都会进行计算;&&是短路与运算符,如果左侧表达式为假,右侧将不再执行。
4. **跳出多重嵌套循环**:可以使用`break`语句配合标签来跳出特定层的循环,如`break label;`。
5. **switch语句的使用**:switch不能直接作用于byte、long和String,但在Java 7及以上版本,可以通过枚举或自动装箱来间接使用,对于String,从Java 7开始支持。
6. **short变量赋值**:直接赋值`s1=s1+1`会导致编译错误,因为操作结果会自动提升为int类型,需强制转换回short。而`s1+=1`会自动处理类型转换。
7. **char存储中文**:char类型可以存储单个Unicode字符,包括中文,因为它占用两个字节。
8. **效率计算2乘8**:最有效率的方式是直接使用`2 << 3`,这是位左移操作,相当于乘以2的3次方。
9. **设计大数计算器**:设计一个大数计算器要考虑字符串表示的大数相加、相减、相乘等操作,以及溢出处理。
10. **final关键字**:final修饰的变量其引用一旦初始化后不可变,对于基本类型,值不可变;对于引用类型,对象不可变,但对象内部的状态可能可变。
11. **"=="与equals方法**:"=="比较的是对象的引用,而equals方法比较的是对象的内容,对于非null对象,覆盖了equals的类会比较对象的属性。
12. **静态变量与实例变量**:静态变量属于类,所有类的实例共享同一份静态变量;实例变量属于每个对象,每个对象有自己的副本。
13. **静态方法与非静态方法**:不能从静态方法内部直接调用非静态方法,因为非静态方法依赖于特定的对象实例。
14. **Integer与int**:Integer是int的包装类,int是原始类型,Integer对象在一定范围内会缓存,避免频繁创建。
15. **Math.round方法**:Math.round(11.5)等于12,Math.round(-11.5)等于-11。
16. **代码不妥之处**:未给出具体代码,无法分析。
17. **访问修饰符的区别**:public、private、protected和默认(包级私有)分别对应公共、私有、同包及子类可见以及仅同包可见。
18. **Overload与Override**:Overload是重载,方法名相同但参数列表不同;Override是重写,子类方法与父类方法签名完全一致,并覆盖父类方法。
19. **构造器不可被override**:构造器不能被重写,但可以被重载。
20. **接口与抽象类**:接口可以继承接口,抽象类可以实现接口,但不能继承具体类。静态main方法在抽象类中是可以有的,但不作为构造器。
21. **clone方法**:在实现clone方法时,通常会调用`super.clone()`以确保正确复制对象。
22. **面向对象特征**:封装、继承、多态。
23. **Java多态机制**:通过方法的重写和向上转型实现,使得父类型的引用可以指向子类型对象,调用子类的方法。
24. **abstractclass和interface的区别**:抽象类可以有构造方法,可以包含非抽象方法,可以有实例变量,最多只能继承一个;接口不能有构造方法,只能包含抽象方法和常量,可以多继承。
25. **abstract、static、native、synchronized的组合**:这些关键字不能同时用于一个方法,因为它们代表不同的特性。
26. **内部类**:内部类分为静态嵌套类(StaticNestedClass)和非静态内部类(InnerClass),静态嵌套类与外部类之间无隐含引用,而内部类则持有对外部类的引用。
这些知识点构成了Java面试的基础,深入理解和掌握它们对准备Java面试至关重要。
2017-08-15 上传
2019-05-22 上传
2017-09-26 上传
2024-01-06 上传
2023-07-15 上传
2023-06-20 上传
2023-07-26 上传
2024-05-13 上传
2023-08-27 上传
a175843568
- 粉丝: 1
- 资源: 6
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案