静态方法和实例方法
Posted wangjinya
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态方法和实例方法相关的知识,希望对你有一定的参考价值。
判断是否静态方法的标识
1) 有static关键字:静态方法
2) 没用static关键字:实例方法
区别:
- 静态方法部队特定实例进行操作,静态方法只能访问类中的静态成员,而不能实例成员。访问静态方法也只能使用类名,而不能创建对象,也不能使用对象名来引用
- 实例方法可以使用类的任何成员。调用实例方法时,必须使用类的实例或对象来引用。实例方法对类的某个给定的实例进行操作,在实例方法类中可以使用this来访问该实例,调用实例方法时,必须先创建一个对象
静态方法只能访问静态方法
实例方法可以访问静态和实例成员
之所以不允许静态方法访问实例成员变量,时因为实例成员变量时属于某个对象的,而静态方法在执行时,并不一定存在对象,同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接的允许静态方法使用实例成员变量,这是错误的,基于同样的道理,静态方法也不能使用关键字this
代码实例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _8._3静态方法和实例方法
{
class Program
{
int exampleVar = 0; //实例成员
static int staticVar = 0;//静态成员
static void staticMethod() //静态方法
{
//报错不能引用非静态的字段
// exampleVar = 1;
//只能使用静态的字段
staticVar = 1;
}
void exampleMethod() //实例方法
{
//实例中可以调用任何成员,包括静态与实例成员
exampleVar = 1;
staticVar = 1;
}
static void Main(string[] args)
{
//调用静态方法一
staticMethod();
//调用静态方法二
Program.staticMethod();
//调用实例对象必须new出一个新的对象才可以使用
Program p = new Program();
}
}
}
以上是关于静态方法和实例方法的主要内容,如果未能解决你的问题,请参考以下文章