静态类

namespace ConsoleApplication1
{
    static class A
    {
      private static int b=1;
      public static void f()
      { Console.WriteLine("{0}",b); }
      static A()
      { b = 2; }
    }
    class Program
    {
        static void Main(string[] args)
        {

            //Console.WriteLine(A.b );b私有成员
            A.f();//通过公有接口访问私有成员
            Console.ReadLine();

        }
    }
}
//静态类中所有的成员都是静态的。静态类中用于存放不受实例数据影响的数据和函数。静态类的一个常见的用途可能就是创建一个包含一组数学方法和值得数学库。
//类本身必须标记为static。
//类的所有成员必须是静态的。
//类可以有一个静态构造函数,但不能有实例构造函数,不能创建该类的实例!
//静态类是隐式密封的,也就是说不能继承静态类。
//可以使用类名和成员名!
时间: 2024-10-12 11:34:02

静态类的相关文章

几种查询方法(lambda Linq Enumerable静态类方式)

1.需要一个数据源类: using System; using System.Collections.Generic; namespace Linq { public class Student { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } public class Data { public static List<Student> studentLi

C#基础——全局静态类中的静态类变量的设置

前言 今天在设计一个系统用户管理界面的时候,出现了一个问题: 由于要在不同窗体之间传递数据,所以想到了要设置全局变量,比如一个用户有属性,ID,UserName,UserPwd和UserPower,为了简便,设定了一个Manager的类,管理这四个属性.然后设置了一个静态类,ModuleParas,有一个静态类变量manager. 结果出现了可访问性不一致的问题. 代码 1 public class Manager 2 { 3 public int ID; 4 public string Use

关于C#的静态类和静态构造函数

静态构造函数是C#的一个新特性,其实好像很少用到.不过当我们想初始化一些静态变量的时候就需要用到它了.这个构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次.也就是在创建第一个实例或引用任何静态成员之前,由.NET自动调用. class SimpleClass { // Static constructor static SimpleClass() { // } } 在使用静态构造函数的时候应该注意几点: 1.静态构造函数既没有访问修饰符,也没有参数.因为是.NET调用的

C# 静态类与非静态类、静态成员的区别

静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量.在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化该静态类:其次,它防止在类的内部声明任何实例字段或方法. 静态类是自C# 2.0才引入的,C# 1.0不支持静态类声明.程序员必须声明一个私有构造器.私有构造器禁止开发者在类的范围之外实例化类的实例.使用私有构造器的效果与使用静态类的效果非常相似.两者的区别在于,私有构造器方式仍然可以从类的内部对

13.C#分部类型和静态类(七章7.1-7.2)

再大的东西不去找,也就没了,再小的知识不去记,也就忘了.今天来写一写C#中的分部类型和静态工具类,这些两个概念可能在我们的日常使用过程中都使用过,可能大家对这些内容觉得这些不是应该有的东西嘛,那就来复习一下吧. 分部类型,个人理解是对同一事物在两个不同空间的描述,编译器将组织我们编写的在不同文件中代码,组合成一个完整的描述.我们不能在一个文件中编写成员的一半代码,而把另外一半代码放到另外一个文件中,每个独立的成员必须完整地位于所处的文件中.如有一个Map类,成员属性放在Map0.cs中,而成员方

静态类和非静态类的主要区别

如有雷同,不胜荣幸,若转载,请注明 主要区别在于静态类不能实例化,静态类编译器能够执行检查确保不是偶然的添加实例成员,C#编译器会自动把它标记为sealed,静态类中不能创建非静态的方法.即静态方法中只能创建静态方法,但在非静态类中可以调用静态方法 静态类的主要特性: 1:仅包含静态成员. 2:无法实例化. 3:是密封的. 4:不能包含实例构造函数. 5:非静态类可以包含静态的方法.字段.属性或事件: 6:静态方法和属性不能访问其包含类型中的非静态字段和事件 7:静态方法只能被重载,而不能被重写

OO 普通类与静态类的区别

普通类与静态类的区别 普通类与静态类的区别 一.普通类: 1.可以实例化,即可以new; 2.可以继承: 二.静态类:(静态类本质就是 abstract+sealed类) 1.不能被实例化:(抽象的)反编译查看 2.不能被继承:(密封的)反编译查看 3.只能有静态成员:

利用反射获取静态类的静态属性值(已知属性名称的字符串表示)

列如获取Phone属性的值 typeof(ExcelColumnName).GetProperty(“Phone”).GetValue(null, null)//ExcelColumnName是静态类 ExcelColumnName类如下: 1 /// <summary> 2 /// 要上传的excel所包含的列 3 /// </summary> 4 public static class ExcelColumnName 5 { 6 public static string Pho

静态类和非静态类

静态类与非静态类基本相同,但存在一个区别:静态类不能实例化. 也就是说,不能使用 new 关键字创建静态类类型的变量. 因为没有实例变量,所以要使用类名本身访问静态类的成员. 例如,如果名为 UtilityClass 的静态类有一个名为 MethodA 的公共方法,则按下面的示例所示调用该方法: C# UtilityClass.MethodA(); 对于只对输入参数进行运算而不获取或设置任何内部实例字段的方法集,静态类可以方便地用作这些方法集的容器. 例如,在 .NET Framework 类库