静态方法和实例方法

Posted wangjinya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态方法和实例方法相关的知识,希望对你有一定的参考价值。

判断是否静态方法的标识

1)      有static关键字:静态方法

2)      没用static关键字:实例方法

区别:

  1. 静态方法部队特定实例进行操作,静态方法只能访问类中的静态成员,而不能实例成员。访问静态方法也只能使用类名,而不能创建对象,也不能使用对象名来引用

 

  1. 实例方法可以使用类的任何成员。调用实例方法时,必须使用类的实例或对象来引用。实例方法对类的某个给定的实例进行操作,在实例方法类中可以使用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();

}
}
}

 


































以上是关于静态方法和实例方法的主要内容,如果未能解决你的问题,请参考以下文章

静态方法和实例方法的区别

java 静态方法和实例方法的区别

JAVA 静态方法和实例方法的区别 (图表)

静态方法和实例方法的区别(转)

6. 静态方法和实例方法

es6中类中的静态属性实例属性静态方法实例方法的个人理解