Java面试必备知识点:基础到高级
4星 · 超过85%的资源 需积分: 10 168 浏览量
更新于2024-07-27
收藏 669KB PDF 举报
"Java面试宝典是一份集合了多个知名公司如腾讯、百度、中软、阿里巴巴、浪潮等经典笔试题目的资料,旨在帮助求职者准备Java编程的面试。这份宝典涵盖了Java的基础知识到高级特性,是Java程序员面试的重要参考资料。"
1. Java源文件与类的关系:一个`.java`源文件可以包含多个类,但只能有一个公共类(public class),其他类可以是非公共类,作为内部类或辅助类。
2. `goto`关键字:Java中没有`goto`关键字,它不支持这种跳转语句。
3. `&`与`&&`的区别:`&`是逻辑与运算符,无论两边表达式是否为真都会进行计算;而`&&`是短路与运算符,如果左边表达式为假,右边的表达式将不会被执行。
4. 跳出多重循环:在Java中,使用`break`语句可以跳出当前的最内层循环;若要跳出多重循环,可以使用标签(label)配合`break`。
5. `switch`语句:`switch`不能直接作用于`byte`、`long`和`String`,但在Java 7及以上版本,`switch`可以作用于`String`。
6. `short`变量赋值:对于`short s1 = 1; s1 = s1 + 1;`,会有类型提升问题,需要强制转换;而`s1 += 1`会自动处理类型提升。
7. `char`存储中文:`char`类型可以存储单个Unicode字符,因此可以存储中文汉字。
8. 最有效率的乘法:`2 * 8`直接计算即可。
9. 一百亿计算器的设计:应考虑大数运算、效率和内存占用,可能需要用到BigInteger类。
10. `final`关键字:修饰变量时,意味着引用不可变,即不能指向其他对象,但引用的对象状态可以改变。
11. `==`与`equals`区别:`==`比较的是两个对象的引用,而`equals`方法默认比较的是内容,但可以被重写。
12. 静态变量与实例变量:静态变量属于类,实例变量属于类的每个实例。
13. `static`方法与非`static`方法:不能从`static`方法内部直接调用非`static`方法,因为非`static`方法依赖于实例对象。
14. `Integer`与`int`:`Integer`是`int`的封装类,处理自动装箱拆箱,且提供了一些额外的方法。
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. 接口继承接口、抽象类实现接口、抽象类继承具体类以及抽象类中的`static main`方法:接口可以继承接口,抽象类可以实现接口,抽象类可以继承具体类,但抽象类的`main`方法不能是`static`的。
21. `clone()`方法通常会包含`super.clone()`以确保正确复制对象。
22. 面向对象特征:封装、继承、多态。
23. Java实现多态的机制:通过方法的重写(`Override`)和向上转型(Upcasting)。
24. `abstract class`与`interface`的区别:抽象类可以有方法实现,可以有非抽象方法和字段,而接口只有抽象方法和常量,不能有字段和实现。
25. `abstract`、`static`、`native`、`synchronized`组合:`abstract`不能与`static`、`native`同时使用,但可以与`synchronized`结合。
26. 内部类:定义在另一个类内部的类,分为静态嵌套类(Static Nested Class)和非静态嵌套类(Inner Class)。静态嵌套类不持有外部类的引用,而内部类则可以。
27. 内部类与外部类的引用:内部类可以直接访问外部类的所有成员,包括私有成员,但外部类不能直接访问内部类的私有成员。
28. 匿名类:没有名字的类,通常用于一次性创建对象,或者实现接口或继承类,但不能定义静态方法或静态变量。
以上只是部分内容,完整版的Java面试宝典涵盖了更多知识点,是准备Java面试的重要学习资料。
2017-12-15 上传
2023-11-16 上传
2018-01-22 上传
2023-07-15 上传
2023-06-20 上传
2023-07-26 上传
2023-08-13 上传
2023-08-27 上传
2024-05-13 上传
ch19890905
- 粉丝: 0
- 资源: 11
最新资源
- MapPlotter:让我们从瑞士创建3D视图
- techBlog:个人博客回购
- C,c语言可以绘制中国地图源码,c语言程序
- bash基础知识:只是一个小项目,它显示了一些基本知识os bash脚本
- 普朗克定律:我们称一个黑体的光子数。-matlab开发
- PHP-CSV-Calculator:示例PHP CLI程序可解析CSV数据并获取指定列的均值,中位数,众数和标准偏差
- openplatform-embedded:嵌入式版本的OpenPlatform
- NejmiYassine-taas-frontend-challenge
- registeringProcess
- main_sleep-timer,c语言有源码为什么编译不过,c语言程序
- Free-Fs 开源文件管理系统
- 小行星:使用html5 canvas和javascript重制经典小行星
- 产品UI设计创意网站模板
- 根据《Shell脚本编程详解》第12章节-Shell脚本编程,自己写的shell脚本。
- LeetCode
- Konntroll.github.io:我的编码项目和经验的简要说明