2021 Java面试必备知识点详解
"2021 Java面试题包含Java基础、IO、集合、JVM、多线程、常用框架和计组等多个领域的常见问题,旨在帮助初中高级Java工程师准备面试,提升技能,以获取更好的职业机会。" 1. **面向对象四大特性**:封装、继承、多态和抽象是面向对象编程的四大核心特性。封装是将数据和操作数据的方法捆绑在一起,保护数据不受外部干扰;继承允许子类继承父类的属性和行为,减少代码重复;多态使得一个接口可以有多种不同的实现,增强代码的灵活性;抽象是忽略对象的具体细节,关注其共性,通过抽象类或接口来定义。 2. **Java语言特点**:包括平台独立性、简单性、面向对象、健壮性、安全性、高效性、可移植性、多线程和动态性等。 3. **主类**:Java程序的主类通常包含main方法,它是程序的入口点。应用程序和小程序(如Applet)的主类不同,Applet需要在Web浏览器环境中运行,而应用程序可以直接由Java虚拟机执行。 4. **访问修饰符**:public表示公共,可以在任何地方访问;private表示私有,只能在本类中访问;protected表示受保护,可以在本包及子类中访问;默认(无修饰符)表示包内可见。 5. **float与3.4**:float f = 3.4 是错误的,因为3.4是double类型的,需要转换为float,正确的写法是float f = 3.4f。 6. **Java中的goto**:Java中没有goto语句,它是一种控制流程的转移命令,但在Java中被省略,以鼓励使用结构化编程。 7. **&和&&的区别**:&是位运算符,无论两边表达式是否为真都会进行运算;&&是逻辑运算符,只有当左边表达式为真时,才会计算右边的表达式。 8. **Math.round**:Math.round(11.5)等于12,Math.round(-11.5)等于-11。Math.round总是返回最接近的整数。 9. **2乘以8的计算**:最有效率的方法是使用位左移运算符,即2 << 3。 10. **Java注释**:Java有三种注释方式,单行注释(//)、多行注释(/*...*/)和文档注释(/**...*/),后两者可以用于生成API文档。 11. **数据类型**:Java有基本数据类型(如int、char、boolean)和引用数据类型(类、接口、数组)。 12. **final关键字**:final用来声明不可变的对象、变量或方法,防止被修改。 13. **final、finally、finalize**:final修饰变量或方法;finally用于异常处理,保证代码块一定会执行;finalize是对象被垃圾回收前调用的方法。 14. **String创建**:"i"是字面量字符串,new String("1")是创建新的对象。两者虽然内容相同,但内存地址不同。 15. **String类**:String类提供了许多操作字符串的方法,如concat、substring、indexOf等,与其他字符串类(如StringBuilder、StringBuffer)相比,String是不可变的。 16. **Java克隆**:克隆用于复制对象,分为浅克隆(只复制对象本身,不复制引用的对象)和深克隆(连同引用的对象一起复制)。 17. **new与clone的区别**:new创建新对象,分配新的内存空间;clone复制已有对象,可能共享内存空间。 18. **多态机制**:多态是同一个接口,使用不同的实例而产生不同的效果,Java通过方法的重写和向上转型实现多态。 19. **多态理解**:多态提高了代码的复用性,降低了耦合度,增强了程序的扩展性。 20. **构造器**:构造器用于初始化新创建的对象,不能被重写(override),但可以被重载(overload)。 21. **equals与hashCode**:当两个对象x和y相等(x.equals(y)==true),根据 equals 的约定,它们的hashCode应该相同。但在某些情况下,两个不同的对象可能具有相同的哈希码。 22. **继承String类**:Java中的String类是final的,不能被继承。 23. **String方法**:String类提供了丰富的操作字符串的方法,如length()、trim()、toUpperCase()等。 24. **char与中文**:char类型可以存储单个Unicode字符,包括中文汉字。 25. **this与super**:this代表当前对象,super代表父类对象。 26. **static关键字**:static用于声明静态成员,它们属于类而非类的实例,生命周期始于类加载,终于类卸载。 27. **break、continue、return**:break用于跳出循环或switch语句;continue跳过当前循环迭代;return结束方法并返回结果。 28. **无参构造器**:用于初始化对象,即使没有显式声明,编译器也会自动添加一个无参构造器,除非类中有其他构造器。 29. **构造器特性**:构造器没有返回类型,名称与类名相同,不能被static、final、abstract等修饰。 30. **静态变量与实例变量**:静态变量属于类,所有实例共享;实例变量属于每个实例,互不影响。 31. **静态方法与实例方法**:静态方法与类关联,不依赖实例调用;实例方法与对象关联,必须通过实例调用。 32. **内部类**:内部类分为成员内部类、局部内部类、匿名内部类和嵌套枚举类,提供更灵活的封装和访问控制。 33. **异常分类**:Java异常分为检查型异常(编译时必须处理,如IOException)和运行时异常(可以选择处理,如NullPointerException)。 34. **hashCode与equals**:这两个方法常用于对象的比较,特别是集合类操作。当两个对象equals相等时,它们的hashCode也应该相等。 35. **hashCode方法**:用于返回对象的哈希码,用于快速查找和定位对象。 36. **为什么要有hashCode**:hashCode在哈希表(如HashMap)中起着关键作用,通过哈希码快速定位对象,提高查找效率。 37. **抽象类与接口**:抽象类是部分实现的类,可以有方法体,可以有非抽象方法;接口完全抽象,只能声明方法,Java7开始支持默认方法和静态方法。抽象类用于实现“is-a”关系,接口用于实现“like-a”关系。 这些面试问题覆盖了Java语言的各个方面,充分理解和掌握这些知识点对于成为一名优秀的Java开发者至关重要。
![](https://csdnimg.cn/release/download_crawler_static/63095927/bg10.jpg)
![](https://csdnimg.cn/release/download_crawler_static/63095927/bg11.jpg)
![](https://csdnimg.cn/release/download_crawler_static/63095927/bg12.jpg)
![](https://csdnimg.cn/release/download_crawler_static/63095927/bg13.jpg)
![](https://csdnimg.cn/release/download_crawler_static/63095927/bg14.jpg)
剩余273页未读,继续阅读
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 岩石滑动与断层冲击地压:声发射特征分析
- 新时代煤炭工业八大战略新取向剖析
- 开采强度对华亭矿区冲击地压危险性的影响分析
- 新安煤矿探采对比:影响安全生产的关键因素与技术支撑
- 210MW循环流化床锅炉引风机变频改造优化与节能效果
- 浅埋煤层开采沉陷预测:方法应用与影响分析
- 优化巷道过陷落柱支护方案:数值模拟与现场试验
- 坚硬顶板定向断裂爆破技术:安全高效采煤新方案
- 北航2019算法课作业解析:投资策略与凸子多边形优化
- 断层破碎带垮冒下堆积体边界抗力分布关键影响因素
- 哈拉沟选煤厂优化末煤系统提高效率与处理能力
- 瓦斯涌出影响下采动煤体蠕变失稳研究
- 提升煤矿装载效率的可控箕斗定量装载设备设计
- 水分调控下烟煤瓦斯吸附特性对比研究
- 重介质悬浮液密度控制硬件设计与选型探讨
- 坚硬顶板巷道支护参数设计:现场测试与数值分析
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)