首页 新闻 会员 周边 捐助

静态方法和实例方法区别到底在哪里?

0
悬赏园豆:10 [已关闭问题] 关闭于 2009-12-17 10:23

我想知道静态方法和实例方法的具体区别,好在适当的时候使用它们。

比如,静态方法有何实例方法各自有什么缺点和优点。越详细越好!

先谢过。

问题补充: 还想到一点,各自在内存中的表现..
anyTom的主页 anyTom | 初学一级 | 园豆:10
提问于:2009-12-16 12:46
< >
分享
所有回答(5)
0

[url=http://www.51dglean.com]石材养护[/url]:

上海保洁公司 | 园豆:228 (菜鸟二级) | 2009-12-16 13:00
0

1.使用静态方法,不创建实例直接调用,使用实例方法,每次调用之前先创建对象的实例

2.静态方法不可 调用其他实例方法和变量如使用this

woody.wu | 园豆:3621 (老鸟四级) | 2009-12-16 13:48
0

http://www.cnblogs.com/AnyTom/archive/2009/12/16/1625474.html

今天就有一篇专门写的,推荐你看看。(转)

当兵的人 | 园豆:103 (初学一级) | 2009-12-16 13:51
0

静态成员是施加在类上的.而实例成员是施加在类的对象上的.

1.人有几只手.(看到这问题没.是对人来说.有没有问过你,你有几只手,只是会问.人有几只手.)

2.你手有多长.(这问题就是对你来说的.你手有多长.而不会问人的手多长).

第一个问题可以是对人这个类来说是可以知道的(当然人的对象你也可以知道).而第二个问题是对人类的一个对象你来说是可以知道的.而对于人类就不行了.

从上面也可以知道.实例成员可以访问静态成员.而静态成员不能访问实例成员.

类Man.手有多少HandCount.你Your,手有多长HandLength

所以第一问题.应用静态Man.HandCount = 2;

第二个问题.Man Your = new Man();Your.HandLength = 1m;

我晕,在内存中怎么来,你自己想一下.一个是在类中,一个是在对象中,很好说吗,类有了.静态就有了.而对象有了.他的实例才会有.够OO吧.

 

天天不在 | 园豆:926 (小虾三级) | 2009-12-16 15:54
0

静态方法的调用,是类名后直接加静态方法即可。实例方法必须将类实例化后,用实例调用该实例方法。

静态方法,只能调用类中的其他静态属性和静态方法,不能调用类中的非静态属性和非静态方法。

实例方法,可以调用静态属性和静态方法,也可以调用实例属性和实例方法。

静态方法是属于类的必须由类来调用,实例方法是属于实例的必须实例化类后,用类的实例调用。

火苗_IT | 园豆:205 (菜鸟二级) | 2009-12-16 20:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册