黑马程序员技术交流社区

标题: 为什么API中的很多方法要定义成静态的? [打印本页]

作者: 余明辉    时间: 2012-7-31 00:46
标题: 为什么API中的很多方法要定义成静态的?
本帖最后由 Jimmy 于 2012-8-1 02:55 编辑

我能想到的就是方便调用,不用new对象
当我们使用import导入相关工具类包的时候,这些静态方法不是也存在于内存当中吗,难道data segment里面的那些空间占用不用理会吗?
作者: 周世阳    时间: 2012-7-31 01:10
静态的方法会调用时在内存生成一个唯一的标示,你可以理解成在物理内存中给静态一个位子,这样的话在调用的时候可以直接找到,不会随着对象的消失而移除,也不会因为对象的建立而增多,会节省内存。而普通方法都是存在与堆上的对象里的,随着对象的增多,更加消耗资源
作者: 刘海源    时间: 2012-7-31 11:37
对啊,静态时方便不用new对象,但是不仅仅是为了方便,文档里边之所以
要将方法定义成静态,主要是为了安全性,有些方法所对应的对象是不需要
对外公布的,防止对对象进行改动,而且也没必要知道对象,只需要用类名调用它
的方法即可
作者: 余明辉    时间: 2012-8-1 02:54
谢谢2位,又明白了很多




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2