C# 静态和非静态的区别

发布时间 2023-11-29 22:33:22作者: 平常xin

静态标记 – static

//静态方法
public static void Max(){ }
//非静态方法
public void Max(){ }

//静态类
public static class program{ }
//非静态类
public class program{ }

静态和非静态的区别
 1.在静态类中既可以有静态成员,也可以有非静态成员。
 2.非静态成员也称为【实例成员】。
 3.在调用实例成员/方法(非静态成员)的时候,需要用实例对象.实例成员/方法(非静态成员)
 4.在调用静态成员/方法的时候,需要用类名.静态成员/方法
 5.静态方法(函数)中,只能访问静态成员,不能访问实例成员。
 6.非静态方法(函数)中,既可以访问静态成员,也可以访问实例成员。
 7.静态类中,只允许有静态成员/方法。
静态类的特征
 1.静态类本身占内存,静态存储区域,因为静态类不需要实例。
 2.静态类在整个项目中是资源共享的。
 3.上述两种特征导致,静态类是作为“工具类”来使用。存放经常调用的方法,或存放需要共享的数据。
 4.静态类只在项目所有应用程序结束时,才会释放资源,否者一直占据内存空间。
 5.因为占内存,静态类越少越好
常用的系统静态类: Console.WriteLine(); Console.ReadLine(); 

 

 

深入理解C# 静态类与非静态类、静态成员的区别 - Linybo2008 - 博客园 (cnblogs.com)