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("析构函数执行了");
// 当相关数据被清理时执行析构函数
// 析构函数中做一些收尾工作
}
}
}
标签:C#,System,静态,static,GC,析构,using
From: https://blog.csdn.net/2401_86981975/article/details/143693248