Board logo

标题: 常被问到的十个 Java 面试题(3) [打印本页]

作者: look_w    时间: 2019-4-12 14:49     标题: 常被问到的十个 Java 面试题(3)

6. final,finally,和 finalize 三者之间有什么不同?

这是我最喜欢的问题。

final 关键字用于在多个语境下定义只能分配一次的实体。

finally 代码块是用于执行重要代码 (如关闭连接、流等) 的代码块。无论是否处理异常,finally 代码块总会被执行。finally 代码块紧随 try 代码块或 catch 代码块。

这是在删除或销毁对象之前垃圾回收器总会调用的方法,该方法使得垃圾回收机制能够执行清理活动。

7. 什么是菱形继承问题?

菱形继承问题反映了为什么在 Java 中我们不被允许实现多继承。如果有两个类共同继承一个有特定方法的超类,那么该方法会被两个子类重写。然后,如果你决定同时继承这两个子类,那么在你调用该重写方法时,编译器不能识别你要调用哪个子类的方法。


我们把这个问题称为 菱形继承问题 。上图对它作了说明,它也得名于此。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0