C#中的静态类

3 篇文章 0 订阅
1 篇文章 0 订阅

静态类

在内存中一共有五个区域

  • 堆区-需要程序员手动开辟并管理内存
  • 栈区-由系统自动完成内存管理
  • 静态区(全局区)-程序运行过程中内存中的数据一直存在
  • 常量区- 用于存放常量
  • 代码区- 存放程序运行所需的代码

静态修饰符

  • 用static修饰的成员是静态成员
  • 静态成员只能由类来调用
  • 用static修饰的类是静态类
  • 静态类不能实例化,只能包含静态成员和Const常量

静态构造

  • 构造方法也可以设置为静态
  • 静态构造不能有参数和访问修饰符
  • 不管是不是静态,都可以有静态构造
  • 静态构造会在第一次实例化或调用静态成员时调用
namespace Text{
    //静态 static
    //静态的字段、属性或者方法,只能由类调用,不能够由实例调用
    //使用类创建对象的过程叫做实例化,对象也可以称作实例

    //静态类
    //在静态类中,只能包含静态成员(字段、属性、方法)、const常量
    public static class A{
        //静态字段
        public static int i;
        //1.静态构造方法钱不允许添加访问修饰符
        //2.静态构造方法可以存在于静态类中,也可以在普通类中
        //静态构造方法
        //静态构造方法会在首次访问类中的静态成员是调用
        static A(){
            console.WriteLine("A 的静态方法");
        }
        //静态方法
        public static void Test(){
            Console.WriteLine("test");
        }
    }
    public class B{
        //静态构造会在创建对象并初始化之前调用
        static B(){
            Console.WriteLine("B 的静态方法");
        }
    }
    class MainClass{
        public static void Main(string[] args){
            //直接使用类名调用静态成员
            A.i=10;
            Console.WriteLine(A.i);
            A.Test();

            B b=new B();
        }
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值