在C#中,什么是静态方法,什么叫动态方法,区别是什么
答案:2 悬赏:30 手机版
解决时间 2021-01-04 20:06
- 提问者网友:川水往事
- 2021-01-03 21:02
在C#中,什么是静态方法,什么叫动态方法,区别是什么
最佳答案
- 五星知识达人网友:西岸风
- 2021-01-10 05:11
public class ClsTest
{
public int InstanceMethod()
{//这是实例方法
return 0;
}
public static int StaticMethod()
{//这是静态方法
return 0;
}
}
int i=ClsTest.StaticMethod();//静态方法通过类名直接调用
ClsTest t=new ClsTest();//创建实例
int j=t.InstanceMethod();//实例方法必须有实例才可以调用
{
public int InstanceMethod()
{//这是实例方法
return 0;
}
public static int StaticMethod()
{//这是静态方法
return 0;
}
}
int i=ClsTest.StaticMethod();//静态方法通过类名直接调用
ClsTest t=new ClsTest();//创建实例
int j=t.InstanceMethod();//实例方法必须有实例才可以调用
全部回答
- 1楼网友:躲不过心动
- 2021-01-10 06:06
实例方法比静态方法多传递一个隐含的指针参数,该指针指向该方法所从属的已被实例化的对象。这一区别的外在表现为实例方法内可使用this关键字代表所从属的实例对象,而静态方法不可使用this因为静态方法不针对任何实例对象。实例对象调用静态方法会因参数中多出一个指向自己的指针(this)而发生错误。 定义静态方法只需加注static关键字即可。静态方法独立于对象实例之外,与对象是否已被实例化无关,调用静态方法要用类定义的名称而不能用实例名称如: class a { ... public static void b(){}//静态方法 public void d(){}//实例方法 } a c = new a(); a.b();//正确的调用方式,与对象实例无关。 a.d();//错误的调用方式。 c.b();//错误的调用方式。 c.d();//正确的调用方式,隐含this指针,不需要也不允许显式传入对象指针。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯