1、定義方法的格式
訪問修飾符 返回類型 方法名 (參數(shù)列表)
{
// 方法的主體…
}
2、靜態(tài)方法
在大多數(shù)時候,我們定義寫一個方法,會把方法區(qū)分為實例化方法(普通方法)和靜態(tài)方法。
用static修飾一個方法,就是靜態(tài)方法。
public string InstanceMethod()//定義一個實例化方法(普通方法)
{
return "實例化方法(普通方法)";
}
public static string StacticMethod()//定義一個靜態(tài)方法
{
return "靜態(tài)方法";
}
3。 靜態(tài)方法和實例化方法之間的區(qū)別
(1)靜態(tài)方法和實例方法的加載時間相同,并且在首次使用該類型時就進行加載,基本上沒有 調(diào)用速度上的差異
(2)靜態(tài)方法和實例化方法本質(zhì)上是方法,因此在內(nèi)存中,無論是靜態(tài)方法還是實例化方法,在內(nèi)存中僅保存一個副本 in
(3)如果某個方法與其所在類的實例對象無關(guān),則它應(yīng)該是靜態(tài)的,并且不應(yīng)被編寫為實例方法。
從面向?qū)ο蟮慕嵌葋砜?,在決定使用靜態(tài)方法還是實例化方法時,應(yīng)基于此方法是否與實例化對象具有邏輯關(guān)系
(4)靜態(tài)方法僅與類相關(guān),它不依賴于對象的存在而存在; 實例方法只能在對象存在后使用。
使用普通方法和靜態(tài)方法
實例化方法:您需要實例化一個對象,并使用該對象指出該對象。
靜態(tài)方法:使用類名直接指出來,無需實例化該對象。
(1)如果兩個方法都是實例化方法(普通方法),則可以直接使用方法名稱來調(diào)用
public void Eat()
{
Console.WriteLine("吃飯!");
Sleep();//直接調(diào)用Sleep方法
}
public void Sleep()
{
Console.WriteLine("睡覺!");
}
(2)如果兩個方法都是靜態(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)建對象,再通過對象名.方法名()
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)建一個對象
a.Hello();//通過 對象名.方法名(),來調(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!");
}