靜態類和非靜態類的區別


靜態和非靜態的區別
靜態:
    使用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 修飾,在調用靜態類的時候直接實例化這個類,直接調用靜態類中的靜態方法(調用前就初始化了,靜態類的構造方法只執行一次),實例化類在實例化的時候直接調用這個類的構造方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM