本文主要是介绍C#面:final ,finally,finalize 的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
final:修饰符(关键字)
如果一个类被声明为final , 意味着它不能再派生出新的子类,不能作为父类被继承。
因此,一个类不能即被声明为 abstract,同时又被声明为 final 。
将变量或者方法声明为 final ,可以保证它们在使用中不被改变。
被声明为 final 的变量,必须在声明时给定初始值,而在以后的引用中,只能读取,不可修改。被声明为final 的方法也同样只能使用,不能重载。
finally:
在异常处理时提供finally 块,来执行清除操作。
如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
Finalize:方法名
Finalize() 是 Object 的 protected 方法,子类可以覆盖该方法以实现资源清理工作,GC垃圾回收机制在回收对象之前调用 Finalize() 方法。
C# 类中使用了非托管资源,重写Finalize() ,在方法内部释放非托管资源。从而保证了当前类被释放的同时,也释放了内部使用的非托管资源。
这里的重写不能使用 override,而是使用析构函数来达到同样效果。
这篇关于C#面:final ,finally,finalize 的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!