静态类和非静态类重要的区别是在于静态类不能被实例化,也就是说不能使用 new 关键字创建静态类类型的变量,防止程序员写代码来实例化该静态类或者在类的内部声明任何实例字段或方法。
用于存放不受实例数据影响的1数据和函数。其内所有的成员都必须为静态,等同于密封类。
静态成员可以被外部访问,如果静态字段的值被改变,那么这个改变对所有实例可见。
静态成员的生存期直到程序结束。
静态方法不能访问实例成员,但能访问其他静态成员。
静态成员的调用可以使用:类名.成员名
class D { static int m1; static public void M() {...} } class Program { static void Main(){ D.m1=10; D.M(); } }
1:非静态类可以包含静态的方法、字段、属性或事件;
2:无论对一个类创建多少个实例,它的静态成员都只有一个副本(体现在在A实例改变了某个静态变量的值将影响所有的实例);
3:静态方法和属性不能访问其包含类型中的非静态字段和事件,并且不能访问任何对象的实例变量;
4:静态方法只能被重载,而不能被重写,因为静态方法不属于类的实例成员