C#的静态方法与静态成员(转)
生活随笔
收集整理的這篇文章主要介紹了
C#的静态方法与静态成员(转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
using?System;
class?Test
{
int?x;
static?y;
void?F(){
????x=1;??//正確,?等價于this.x=1
????y=1;??//正確,?等價于Test.y=1
}
static?void?G(){
????x=1;??//錯誤,?不能訪問this.x
????y=1;??//正確,?等價于Test.y=1
}
static?void?Main(){
????Test?t=new?Test();
????t.x=1;??//正確
????t.y=1;??//錯誤,?不能在類的實例中訪問類的靜態成員
????Test.x=1;??//錯誤,?不能按類訪問非靜態成員
????Test.y=1;??//正確
}
}
類的非靜態成員屬于類的實例所有,?每創建一個類的實例,?都在內存中為非靜態成員開辟了一個區域;?而類的靜態成員為類所有,?為這個類的所有實例所共享.?無論這個類創建了多少個副本,?一個靜態成員在內存中只占一個區域.
class?Test
{
int?x;
static?y;
void?F(){
????x=1;??//正確,?等價于this.x=1
????y=1;??//正確,?等價于Test.y=1
}
static?void?G(){
????x=1;??//錯誤,?不能訪問this.x
????y=1;??//正確,?等價于Test.y=1
}
static?void?Main(){
????Test?t=new?Test();
????t.x=1;??//正確
????t.y=1;??//錯誤,?不能在類的實例中訪問類的靜態成員
????Test.x=1;??//錯誤,?不能按類訪問非靜態成員
????Test.y=1;??//正確
}
}
類的非靜態成員屬于類的實例所有,?每創建一個類的實例,?都在內存中為非靜態成員開辟了一個區域;?而類的靜態成員為類所有,?為這個類的所有實例所共享.?無論這個類創建了多少個副本,?一個靜態成員在內存中只占一個區域.
類的靜態方法是屬于類的,是在定義類的時候就初始化好的方法了,調用的時候要通過類名.靜態方法來調用。動態方法是在對象初始化的時候初始化的,只有通過實例話成功的對象才能調用,調用方法可以是?對象名.動態方法。
總結
以上是生活随笔為你收集整理的C#的静态方法与静态成员(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 下DHCP的安装
- 下一篇: ASP.NET 3.5 新特性开发向导实