C#中的静态成员与静态类

在C#中每个对象都有自己的数据成员,那对于不同对象的数据成员其各自的值是不相干的。但有的时候有可能某一个或者几个数据成员为所有对象共有,如在一个Car类里可能有很多个对象,这是我们定义一个变量carCount来记录,但是carCount并不属于某个对象,而是属于整个类的,这个时候我们就需要使用静态字段。

1.静态成员

静态成员是通过static关键字来标识 的,有静态字段、方法、属性或者事件。

定义静态成员的语法格式:

Class 类名

{

  public static 数据类型  变量名称

  public static 返回值  方法名(参数列表)

  {

    //方法体;

}

  }

在上面的语法中我们可以看到静态字段和静态方法的定义。其实在类中的变量和方法都可以声明为static的。静态成员不能用对象来调用,只能通过类名和(.)运算符来进行访问和调用。

类名.变量名称;

类名.方法名();

静态类使用static关键字来声明,依此来表示它只包含静态成员,不能使用new关键字创建静态类的实例。

原文地址:https://www.cnblogs.com/wl-y/p/10699928.html

时间: 2024-08-29 14:06:13

C#中的静态成员与静态类的相关文章

C++类中的静态成员变量与静态成员函数

最近一直看c++相关的项目,但总是会被c++类中的静态成员变量与静态成员函数的理解感觉很是模糊,不明白为什么类中要是用静态成员变量.于是在网上搜集了一些资料,自己再稍微总结下. 静态成员的概念: 静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员先于类的声明而存在于内存,也可以根据类声明的对象来访问.而非静态成员必须实例化之后才会分配内存. 非静态成员的概念: 所有没有加static的成员都是非静态成员.而类被实例化后,可以通过实例化的类

面向对象基础——静态成员、静态类

1. 静态方法 VS 实例方法 2. 静态类 (1)常见的静态类:Math.Console.Convert (2)静态类中只能包括静态成员.静态构造函数.常量成员,不能有实例成员,不能有普通构造函数 (3)静态构造函数不能有参数.不能有访问修饰符(默认为private) 静态构造函数的作用:用来初始化静态成员 在加载类的时候使用,只会执行一次 3. 使用建议 当多个对象共享同一个数据的时候就可以在实例类中加入静态成员. 少使用静态类,静态类.静态成员所分配的内存在程序退出时才会释放 在项目中需要

编写高质量代码改善C#程序的157个建议[优先考虑泛型、避免在泛型中声明静态成员、为泛型参数设定约束]

前言 泛型并不是C#语言一开始就带有的特性,而是在FCL2.0之后实现的新功能.基于泛型,我们得以将类型参数化,以便更大范围地进行代码复用.同时,它减少了泛型类及泛型方法中的转型,确保了类型安全.委托本身是一种引用类型,它保存的也是托管堆中对象的引用,只不过这个引用比较特殊,它是对方法的引用.事件本身也是委托,它是委托组,C#中提供了关键字event来对事件进行特别区分.一旦我们开始编写稍微复杂的C#代码,就肯定离不开泛型.委托和事件.本章将针对这三个方面进行说明. 这里也有一篇之前我对泛型的简

static 类中的静态成员,组合类,友元函数 ,内部类

static 表示静态的意思 在c++中有两种表示 ,静态成员变量和静态成员函数 一个类中的静态成员只属于当前类,不属于某个对象.一个类的静态成员只有一份由当前类所有,每个对象都可以访问静态成员,当然也可以通过类名来访问 这里推荐用类名::静态成员来访问 static 成员函数应该在所有的成员函数之外初始化 如果不初始化系统默认为0 static 成员函数只能访问static成员 static成员函数  ,函数体内不能使用this指针 在我前前面已经说过组合类的概念了,今天我再介绍两个类,友元,

C++ 类中的静态成员变量,静态成员函数

//类中的静态成员变量,静态成员函数 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; /* 静态成员函数是属于整个类, static修饰的变量,是属于类,,所有的对象都能共享用. 在类的静态数据成员函数中,是不能调用具体的对象的变量的属性, 这是因为static修饰的变量是整个类共享,在静态成员函数中使用一个对象的成员属性 c++编译器无法知道这个成员属性是哪个对象的 所以在静态成员函数中只能使用静

编写高质量代码改善C#程序的157个建议——建议33:避免在泛型类型中声明静态成员

建议33:避免在泛型类型中声明静态成员 在上一建议中,已经理解了应该将MyList<int>和MyList<string>视作两个完全不同的类型,所以,不应该将MyList<T>中的静态成员理解成MyList<int>和MyList<string>共有的成员. class MyList { public static int Count { get; set; } public MyList() { Count++; } } static voi

c++中的静态成员变量

C++ 类中的静态变量 静态数据成员: 下面看一个例子: #include <iostream.h> class Point { public: void output() { } static void init() { } }; void main( void ) { Point pt; pt.init(); pt.output(); } 这样编译是不会有任何错误的. 下面这样看 #include <iostream.h> class Point { public: void

static 类中的静态成员

static 表示静态的意思 在c++中有两种表示 ,静态成员变量和静态成员函数 一个类中的静态成员只属于当前类,不属于某个对象.一个类的静态成员只有一份由当前类所有,每个对象都可以访问静态成员,当然也可以通过类名来访问 这里推荐用类名::静态成员来访问 static 成员函数应该在所有的成员函数之外初始化 如果不初始化系统默认为0 static 成员函数只能访问static成员 static成员函数  ,函数体内不能使用this指针

静态成员,静态类,抽象成员,抽象类,单例模式

静态成员: ?static修饰的成员称为静态成员. 静态成员只能由类来调?. 静态类: ?static修饰的类称为静态类.静态类不能实例化,所以内部只允许有静态成员或const修饰的常量. 1.仅包含静态成员和const修饰的常量. 2.不能被实例化. 3.是密封的.(默认已经是sealed,不能再?sealed修饰) 4.有静态构造?法(函数),但静态构造?法必须是?参数的. 静态构造方法:静态构造?法?于初始化任何静态数据, 或?于执?仅需 执??次的特定操作.在创建第?个实例或引?任何静态