什么是最终确定,是否可以使用PHP?如果是,那怎么样?

时间:2018-03-24 10:26:26

标签: php oop

今天我已经读过一个问题,最终版本,最终版本和最终版本之间有什么区别?
Final是一个关键字。最后是一个块 最终关键字
变量 - 如果您将任何变量设为最终变量,则无法更改最终变量的值(它将是常量)。
方法 - 如果您将任何方法设为最终方法,则无法覆盖它 班级 - 如果您将任何课程作为最终成绩,则无法将其扩展为

最后阻止
finally块中的代码将始终在try和catch块之后执行,无论是否抛出异常,并且在正常执行恢复之前。

什么是最终确定,是否可以使用PHP?如果是,那么如何?

1 个答案:

答案 0 :(得分:1)

Finalize是一个对象方法,它包含在垃圾回收之前释放非托管资源并执行清理操作所需的代码。

在Java中,当垃圾收集确定不再有对该对象的引用时,对象上的垃圾收集器会调用java.lang.Object.finalize()。子类重写finalize方法以处置系统资源或执行其他清理。

PHP不包含finalize()方法。相反,如果在GC收集对象时需要从内存中释放资源或连接,则可以使用__destruct魔术方法。具体来说,来自文档:

  

PHP 5引入了类似于其他概念的析构函数概念   面向对象的语言,例如C ++。析构函数方法将是   只要没有其他特定参考,就会调用   对象,或在关机序列期间的任何顺序。

值得注意的是,使用PHP(例如,与Java中的finalize方法不同)在析构函数中抛出新异常会导致问题:

  

尝试从析构函数中抛出异常(在时间中调用)   脚本终止)导致致命错误。