zoukankan      html  css  js  c++  java
  • C#温故而知新学习系列之面向对象编程—析构函数(十六)

      析构函数

      析构函数是在类的破坏时自动执行的操作,析构函数在碎片收集时会自动调用,程序员无法控制何时调用析构函数,因为这是由垃圾回收器决定的

      垃圾回收器

      与运行时不进行垃圾回收的开发语言相比,C#无需太多的内存管理,这是因为.NETFramework垃圾回收器会隐式的管理对象的分配和释放,垃圾回收器检查是否存在应用程序不在使用的对象,如果垃圾回收器认为某个对象符合析构,则调用析构函数,并回收此对象占用的内存,应用程序退出时也会调用析构函数

      为什么使用析构函数?

      一般情况下,C#应用程序中很少使用析构函数,但是当应用程序封装窗口,文件和网络连接这些非托管资源时,应该使用析构函数释放这些资源,因为垃圾回收器不是所有的资源都能释放的

      创建析构函数需要注意以下几点

      1:析构函数只能定义在类中,不能定义在结构中

      2:一个类只能有一个析构函数

      3:无法重载析构函数

      4:无法调用析构函数,它们被自动调用

      5:析构函数没有修饰符,也没有参数

      6:析构函数与类同名

      举例

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;

      namespace _14_Destructor
      {
          class Program
          {
              static void Main(string[] args)
              {
              }
          }

          class Student
          { 
              ~Student()
              {
                
              }
          }
      }

    记录,成为更好的自己
  • 相关阅读:
    Java遍历JsonObject对象
    fastjson.JSONObject之对象与JSON转换方法
    Java HotSpot VM中的JIT编译
    JAVA 反射类 捕获异常 method.invoke方法如何捕获异常
    手动调用hibernate的参数校验器和springboot参数校验器 验证
    Netty-Socketio API
    Netty-socketio集成redis,服务端集群推送消息
    mysql 导出csv格式数据解决乱码
    自建dns服务器
    MySQL 8.0 克隆(clone)插件快速搭建主从复制
  • 原文地址:https://www.cnblogs.com/menglin2010/p/2337992.html
Copyright © 2011-2022 走看看