静态类和非静态类的区别

让人想犯罪 __ 提交于 2019-12-03 08:06:22

静态和非静态的区别
静态:
    使用static关键字
    使用类名调用
    在静态方法中,可以访问静态成员
    在静态方法中,不可以直接访问实例成员
    调用前需要初始化(构造方法)

非静态:
    不需要使用static关键字
    使用实例调用对象
    在实例方法中可以直接访问静态成员
    在实例方法中可以直接访问实例成员
    实例化对象时需要初始化(构造方法)

对于静态类来说,在类中只能声明静态成员,相反实例类中可以声明静态类成员。

 1 class Program{
 2     public static void Main(string[] args){
 3         Person.SayHello();
 4         Animal animal = new Animal();
 5         Console.ReadKey();
 6     }    
 7 }
 8 static Person{
 9     static Person(){
10         Console.WriteLine("我是静态类的构造方法");
11     }
12     public static void SayHello(){
13         Console.WriteLine("我是静态方法");
14     }
15 }
16 class Animal{
17     public Animal(){
18         Console.WriteLine("我是实例化类的构造方法");
19     }
20 }

在上面的demo中,定义了静态Person类和非静态Animal类,在静态类中定义的构造方法使用static 修饰,在调用静态类的时候直接实例化这个类,直接调用静态类中的静态方法(调用前就初始化了,静态类的构造方法只执行一次),实例化类在实例化的时候直接调用这个类的构造方法。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!