您好,登錄后才能下訂單哦!
小編這次要給大家分享的是淺談C#中靜態(tài)方法和實(shí)例化方法,文章內(nèi)容豐富,感興趣的小伙伴可以來(lái)了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
1、定義方法的格式
訪問(wèn)修飾符 返回類(lèi)型 方法名 (參數(shù)列表) { // 方法的主體… }
2、靜態(tài)方法
在大多數(shù)時(shí)候,我們定義寫(xiě)一個(gè)方法,會(huì)把方法區(qū)分為實(shí)例化方法(普通方法)和靜態(tài)方法。
用static修飾一個(gè)方法,就是靜態(tài)方法。
public string InstanceMethod()//定義一個(gè)實(shí)例化方法(普通方法) { return "實(shí)例化方法(普通方法)"; } public static string StacticMethod()//定義一個(gè)靜態(tài)方法 { return "靜態(tài)方法"; }
3、靜態(tài)方法和實(shí)例化方法的區(qū)別
(1)靜態(tài)方法和實(shí)例方法,在加載時(shí)機(jī)上是一樣的,在類(lèi)型第一次被使用的時(shí)候加載,調(diào)用的速度基本上沒(méi)有差別
(2)靜態(tài)方法和實(shí)例化方法在本質(zhì)上都是方法,所以在內(nèi)存中,無(wú)論是靜態(tài)方法還是實(shí)例化方法,在內(nèi)存中都只保存一份
(3)如果一個(gè)方法,與他所在的類(lèi)的事例對(duì)象無(wú)關(guān),那么它就應(yīng)該是靜態(tài)的,而不應(yīng)該把它寫(xiě)成實(shí)例方法。
   從面向?qū)ο蟮慕嵌葋?lái)說(shuō),在抉擇使用靜態(tài)方法還是實(shí)例化方法,應(yīng)該依據(jù)這個(gè)方法和實(shí)例化對(duì)象是否有邏輯關(guān)系
(4)靜態(tài)方法只與類(lèi)有關(guān),它不依賴(lài)于對(duì)象的存在而存在;實(shí)例方法則在對(duì)象存在后才能使用。
普通方法、靜態(tài)方法的使用
實(shí)例化方法:需要實(shí)例化對(duì)象,用對(duì)象點(diǎn)出來(lái)。
靜態(tài)方法:直接用類(lèi)名點(diǎn)出來(lái),不需要實(shí)例化對(duì)象。
(1)如果兩個(gè)方法都是實(shí)例化方法(普通方法),那么可以直接用方法名調(diào)用
public void Eat() { Console.WriteLine("吃飯!"); Sleep();//直接調(diào)用Sleep方法 } public void Sleep() { Console.WriteLine("睡覺(jué)!"); }
(2)如果兩個(gè)方法都是靜態(tài)方法, 那么可以直接用方法名調(diào)用
public static void Hello() { Console.WriteLine("Hello!"); } public static void Music() { Hello();//直接調(diào)用Hello方法 }
(3)在靜態(tài)方法中調(diào)用非靜態(tài)方法,那么要先創(chuàng)建對(duì)象,再通過(guò)對(duì)象名.方法名()
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();//先創(chuàng)建一個(gè)對(duì)象 a.Hello();//通過(guò) 對(duì)象名.方法名(),來(lái)調(diào)用方法 Console.ReadLine(); } public void Hello() { Console.WriteLine("Say Hello!"); } } }
(4)在非靜態(tài)方法中,可以使用靜態(tài)方法
public void Name() { Hello();//在非靜態(tài)方法中,直接調(diào)用靜態(tài)方法 } public static void Hello() { Console.WriteLine("Say Hello!"); }
看完這篇關(guān)于淺談C#中靜態(tài)方法和實(shí)例化方法的文章,如果覺(jué)得文章內(nèi)容寫(xiě)得不錯(cuò)的話,可以把它分享出去給更多人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。