静态成员和实例成员哪个性能更优?
当要重复调用某一个方法或属性的时候,通过实例调用好还是通过类调用好,哪个更快?哪个更节省内存?请指点! 问题点数:0、回复次数:7Top
1 楼jiezhi(风满袖)回复于 2003-09-04 08:10:14 得分 0
看方法或者屬性是否為靜態的了。
如果是非靜態的,則必須生成類的實例后才能訪問,如果是靜態的,則可以直接訪問。
靜態方法或者屬性是不屬于任何類的實例的,所有實例公用一個副本。
而非靜態方法則是在每個實例都占用一段存儲區域。
我不知道你的“通过实例调用好还是通过类调用好”是什么意思?Top
2 楼zhpsam109(JACKY.昊昊)回复于 2003-09-04 08:15:26 得分 0
静态的属性和方法才可以通过类来调用!重复调用一个方法要看具体的情况需要为实例调用还是为类调用!Top
3 楼xjliang007(痛并快乐着)回复于 2003-09-04 08:37:16 得分 0
靜態的方法不用在每個方法中生成實例,理論上是占優的,但中時也就靈活性不如了。Top
4 楼zhongwanli(㊣【为了老婆,二次重构____然后升★★】㊣)回复于 2003-09-04 09:02:29 得分 0
如果是在重复调用的情下来讲速度各内存的使用多少的话,
个人认为是静态方法要占优一些,但从程序的的可扩展性和灵活性来讲呢
那就应该是实例成员要占优一些!
Top
5 楼uranusI(uranus)回复于 2003-09-04 09:10:32 得分 0
我说说自己的感受,类的静态成员在第一次访问该类时初始化,之后会一直存在,而你所谓的需要实例化才能使用的成员则在你实例化时才分配内存并初始化,在你不需要时可以释放,在内存的控制上灵活一些。
所以一些公共的方法用静态的会比较省,但字段最好是需要时才实例化,否则会一直占着空间的。
还有我感觉把静态成员集中放在一起作为一个单独的类比较舒服,静态动态杂在一起很乱。Top
6 楼ms44(ms44)回复于 2003-09-04 09:36:53 得分 0
反复要调用的话,还是静态的好Top
7 楼rouser(流淌的小溪)回复于 2003-09-04 09:44:52 得分 0
實例成員優先考慮
然後全局的再考慮靜態成員
這樣比較復合OO封裝原則
說到速度,你最好測試一下
沒有多大差別,可以忽略Top




