首页 > 代码库 > 【学习笔记】C# 静态类
【学习笔记】C# 静态类
- 静态修饰符
- 用static修饰的成员是静态成员
- 静态成员只能由类来调用
- 用static修饰的类是静态类
- 静态类不能实例化,只能包含静态成员和const常量
- 在内存中一共有五个区域
- 1. 堆区-需要程序员手动开辟,并管理内存
- 2. 栈区-由系统自动完成内存管理
- 3. 静态区(全局区)- 层序运行过程中的数据一直存在
- 4. 常量区-用于存放常量
- 5. 代码区-存放程序运行所需要的代码
- 静态构造
- 构造方法也可以设置为静态
- 静态构造不能有参数和访问修饰符
- 不管是不是静态类,都可以有静态构造
- 静态构造会在第一次实例化或调用静态成员时调用
-
1 using System; 2 3 namespace StaticClassDemo 4 { 5 //静态 static 6 //静态的字段、属性或方法,只能由类调用,不能够由实例调用 7 //使用类创建对象的过程叫做实例化,对象也可以称作实例 8 9 //静态类 10 //在静态类中,只能包含静态的成员(字段、属性、方法)、const常量 11 public static class A 12 { 13 //静态字段 14 public static int i; 15 16 //构造方法 17 //1.静态构造方法前不允许添加访问修饰符 18 //2.静态构造方法可以存在于静态类中,也可以在普通类中 19 //静态构造方法 20 //静态构造方法会在首次访问类 21 /*public*/ static A() 22 { 23 Console.WriteLine("A 的静态构造方法"); 24 } 25 26 //静态方法 27 public static void Test() 28 { 29 //string str = "Li"; 30 //const int age = 19; 31 Console.WriteLine("test"); 32 } 33 } 34 //2.静态构造方法可以存在于静态类中,也可以在普通类中 35 public class B 36 { 37 public static int age; 38 //静态构造会在创建对象,并在初始化之前调用 39 static B(){ 40 Console.WriteLine("B 的静态构造方法"); 41 } 42 } 43 class Program 44 { 45 static void Main(string[] args) 46 { 47 //A a = new A(); 48 //a.i = 10; 49 //Console.WriteLine(a.i); 50 51 //直接使用类名调用静态成员 52 A.i = 10; 53 Console.WriteLine(A.i); 54 A.Test(); 55 56 B.age = 10; 57 58 B b = new B(); 59 60 //在内存中一共有五个区域 61 //1. 堆区-需要程序员手动开辟,并管理内存 62 //2. 栈区-由系统自动完成内存管理 63 //3. 静态区(全局区)- 层序运行过程中的数据一直存在 64 //4. 常量区-用于存放常量 65 //5. 代码区-存放程序运行所需要的代码 66 } 67 } 68 }
【学习笔记】C# 静态类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。