小編這次要給大家分享的是淺談C#中靜態方法和實例化方法,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
1、定義方法的格式
訪問修飾符 返回類型 方法名 (參數列表)
{
// 方法的主體…
}2、靜態方法
在大多數時候,我們定義寫一個方法,會把方法區分為實例化方法(普通方法)和靜態方法。
用static修飾一個方法,就是靜態方法。
public string InstanceMethod()//定義一個實例化方法(普通方法)
{
return "實例化方法(普通方法)";
}
public static string StacticMethod()//定義一個靜態方法
{
return "靜態方法";
}3、靜態方法和實例化方法的區別
(1)靜態方法和實例方法,在加載時機上是一樣的,在類型第一次被使用的時候加載,調用的速度基本上沒有差別
(2)靜態方法和實例化方法在本質上都是方法,所以在內存中,無論是靜態方法還是實例化方法,在內存中都只保存一份
(3)如果一個方法,與他所在的類的事例對象無關,那么它就應該是靜態的,而不應該把它寫成實例方法。
   從面向對象的角度來說,在抉擇使用靜態方法還是實例化方法,應該依據這個方法和實例化對象是否有邏輯關系
(4)靜態方法只與類有關,它不依賴于對象的存在而存在;實例方法則在對象存在后才能使用。
普通方法、靜態方法的使用
實例化方法:需要實例化對象,用對象點出來。
靜態方法:直接用類名點出來,不需要實例化對象。
(1)如果兩個方法都是實例化方法(普通方法),那么可以直接用方法名調用
public void Eat()
{
Console.WriteLine("吃飯!");
Sleep();//直接調用Sleep方法
}
public void Sleep()
{
Console.WriteLine("睡覺!");
}(2)如果兩個方法都是靜態方法, 那么可以直接用方法名調用
public static void Hello()
{
Console.WriteLine("Hello!");
}
public static void Music()
{
Hello();//直接調用Hello方法
}(3)在靜態方法中調用非靜態方法,那么要先創建對象,再通過對象名.方法名()
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
Program a = new Program();//先創建一個對象
a.Hello();//通過 對象名.方法名(),來調用方法
Console.ReadLine();
}
public void Hello()
{
Console.WriteLine("Say Hello!");
}
}
}(4)在非靜態方法中,可以使用靜態方法
public void Name()
{
Hello();//在非靜態方法中,直接調用靜態方法
}
public static void Hello()
{
Console.WriteLine("Say Hello!");
}看完這篇關于淺談C#中靜態方法和實例化方法的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。