C#面:final ,finally,finalize 的区别

final:修饰符(关键字)

如果一个类被声明为final , 意味着它不能再派生出新的子类,不能作为父类被继承。

因此,一个类不能即被声明为 abstract,同时又被声明为 final 。

将变量或者方法声明为 final ,可以保证它们在使用中不被改变。

被声明为 final 的变量,必须在声明时给定初始值,而在以后的引用中,只能读取,不可修改。被声明为final 的方法也同样只能使用,不能重载。

finally:

在异常处理时提供finally 块,来执行清除操作。

如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。

Finalize:方法名

Finalize() 是 Object 的 protected 方法,子类可以覆盖该方法以实现资源清理工作,GC垃圾回收机制在回收对象之前调用 Finalize() 方法。

C# 类中使用了非托管资源,重写Finalize() ,在方法内部释放非托管资源。从而保证了当前类被释放的同时,也释放了内部使用的非托管资源。

这里的重写不能使用 override,而是使用析构函数来达到同样效果。

相关推荐

  1. C#:final ,finally,finalize 区别

    2024-02-06 22:40:04       32 阅读
  2. C#:& 和 && 区别

    2024-02-06 22:40:04       21 阅读
  3. C#:throw 和throw ex 区别

    2024-02-06 22:40:04       18 阅读
  4. C#:虚函数和抽象函数区别

    2024-02-06 22:40:04       15 阅读
  5. C#:介绍 Hashtable 和 Dictionary区别

    2024-02-06 22:40:04       14 阅读
  6. C#:介绍 ArrayList 与 Array 区别

    2024-02-06 22:40:04       15 阅读
  7. C#:XML与 HTML 主要区别是什么

    2024-02-06 22:40:04       8 阅读
  8. C#:Server.UrlEncode、HttpUtility.UrlDecode区别

    2024-02-06 22:40:04       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-06 22:40:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-06 22:40:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-06 22:40:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-06 22:40:04       18 阅读

热门阅读

  1. Z0423 树的染色2

    2024-02-06 22:40:04       31 阅读
  2. 详解MYSQL中的平均值组大小

    2024-02-06 22:40:04       31 阅读
  3. 前端开发:入门(一)

    2024-02-06 22:40:04       25 阅读
  4. 记录 | .ui转.py

    2024-02-06 22:40:04       27 阅读
  5. 23种设计模式之工厂模式

    2024-02-06 22:40:04       32 阅读
  6. 设计模式(结构型模式)桥接模式

    2024-02-06 22:40:04       27 阅读
  7. Vue 插槽的基本用法

    2024-02-06 22:40:04       30 阅读
  8. MySQL深入——18

    2024-02-06 22:40:04       30 阅读