静态类和非静态类的区别

静态和非静态的区别
静态:
    使用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 修饰,在调用静态类的时候直接实例化这个类,直接调用静态类中的静态方法(调用前就初始化了,静态类的构造方法只执行一次),实例化类在实例化的时候直接调用这个类的构造方法。

猜你喜欢

转载自www.cnblogs.com/bqjb9323/p/11784427.html
今日推荐