C#静态类和GC

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

namespace _02_静态类
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 静态类是指只包含静态成员的类,静态成员可以直接通过类名来访问,而不需要创建类的实例。
            // 静态类使用static关键字声明,只能包含静态成员,不能包含实例成员。

            // 静态类的使用 
            Tools.Fun(); // 调用静态方法
            
            // 静态类不能被实例化
            Console.ReadLine();
        }
    }
    static class Tools
    {
        // 普通的(实例)的成员不能写在静态类中
        // 静态类只包含静态成员

        static public string Id { get; set; }

        // 静态的方法
        static public void Fun()
        {
            Console.WriteLine("静态类中的静态方法");
        }

        // 静态类不能包含实例构造函数

        // 静态构造函数
        static Tools()
        {
            // 静态构造函数可以初始化静态数据

            // 静态构造函数在第一次使用类时执行一次
        }
    }
    // 静态类不能被继承 也不能够继承与其他类
    //class Person: Tools
    //{

    //}
    // 1. 静态类只能包含静态成员,不能包含实例成员。
    // 2. 静态类不能被实例化
    // 3.  静态类不能包含实例构造函数
    // 4. 静态类实现了密封 不能被继承 也不能够继承与其他类
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _03_析构函数
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 垃圾回收机制
            // GC 当我们回收垃圾时就会触发GC
            // C# 自带垃圾回收机制
            // GC 当内存满的时候就会触发GC
            // GC 也可以手动触发

            // 析构函数 就是相关数据被清理时执行的函数
            // 析构函数 执行的两个条件
            // 1. 相关数据是垃圾
            // 2. 垃圾回收机制触发了

            Person person  = new Person();
            A a = new A();
            a = null;
            // 让person 数据变成垃圾
            //person = null;

            // 手动触发GC 回收垃圾
            GC.Collect();
            
            Console.ReadLine();

            // 析构函数 就是相关数据被清理时执行的函数

        }
    }
    class A {

        public int Id { get; set; }
        public string Name { get; set; }
        ~A()
        {
            // 当A 类数据被清理时执行
            Console.WriteLine("A 类析构函数执行了");
        }
    }
    class Person
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Address { get; set; }

        // 析构函数
        ~Person()
        {

            // 当Perso 类数据被清理时执行
            Console.WriteLine("析构函数执行了");
            // 当相关数据被清理时执行析构函数
            // 析构函数中做一些收尾工作
        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值