求教大家关于C++和C#中的静态方法的问题

前几天在看C#高级编程的时候看到关于静态方法的问题静态方法在使用的时候不必实例化就能直接使用,如果实例化会出现怎么样的错误?自己可不可以去定义一个静态方法,具体该如何去定... 前几天在看C#高级编程的时候看到关于静态方法的问题
静态方法在使用的时候不必实例化就能直接使用,如果实例化会出现怎么样的错误?自己可不可以去定义一个静态方法,具体该如何去定义,可不可以说得具体点,还有静态方法有什么特别的用途没?
谢谢大家了^-^
展开
 我来答
隐名账号
2007-02-21 · TA获得超过179个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:0
展开全部
实例方法比静态方法多传递一个隐含的指针参数,该指针指向该方法所从属的已被实例化的对象。这一区别的外在表现为实例方法内可使用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指针,不需要也不允许显式传入对象指针。
百度网友807290f48
2007-02-16 · 超过29用户采纳过TA的回答
知道答主
回答量:157
采纳率:0%
帮助的人:0
展开全部
不必实例化就能直接使用,是说在没有生成任何对象时就能运用该方法,所以静态方法里不能对非静态的成员变量做操作。一般静态方法操作静态成员变量或全局变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式