C#中静态方法和实例化方法的区别、使用

发布时间:2020-08-13 17:49:00

1、定义方法的格式


访问修饰符 返回类型 方法名 (参数列表)
{
// 方法的主体…
}

2、静态方法

在大多数时候,我们定义写一个方法,会把方法区分为实例化方法(普通方法)和静态方法。

用static修饰一个方法,就是静态方法。


public string InstanceMethod()//定义一个实例化方法(普通方法)
{
 return "实例化方法(普通方法)";
}
public static string StacticMethod()//定义一个静态方法
{
 return "静态方法";
}

3。 静态方法和实例化方法之间的区别

(1)静态方法和实例方法的加载时间相同,并且在首次使用该类型时就进行加载,基本上没有 调用速度上的差异

(2)静态方法和实例化方法本质上是方法,因此在内存中,无论是静态方法还是实例化方法,在内存中仅保存一个副本 in

(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!");
}


服务热线:4006068008 0531-85860101 15589999555邮箱:zlxk@zlxk.com地址:山东省济南市高新区鑫盛大厦2号楼24层

Copyright 2023,ALL Rights Reserved zlxk.com | | (c) Copyright 2024版权所有 鲁ICP备20032954号-1网站地图