黑马程序员技术交流社区

标题: 什么情况下将一个方法定义为static [打印本页]

作者: 郭学文    时间: 2011-11-7 16:14
标题: 什么情况下将一个方法定义为static

什么情况下将一个方法定义为static?
作者: 张邦庆    时间: 2011-11-7 16:38
如果你不想创建实例去调用这个方法,就把这个方法定义为static,
Static是静态的,公共的,为所有对象所共有的
作者: 黄杰    时间: 2011-11-7 17:17
如果你的这个静态方法经常性的被调用,那么你使用静态的话就会一直放在内存中,虽然会占用一点内存空间,但是你不用每次使用对象来进行调用,可能你创建对象已经就需要额外的开销,当然如果你的对象的静态公用的或者单例的那不会有影响,而且你调用非静态方法的时候方法每次创建和销毁已经形参的压栈和出栈也是需要一定的运行时间.
作者: 咖啡    时间: 2011-11-7 18:16
Static是静态的,公共的,为所有对象所共有的,不需要建立类实例就可以引用的成员或方法应该定义成static.

作者: wangqing    时间: 2011-11-8 06:48
当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的

作者: 张翼    时间: 2011-11-9 08:38
本帖最后由 张翼 于 2011-11-9 08:38 编辑

     static 是类级别的,当需要不创建对象就要调用方法时,static就变得
有用了。
      还有类方法不可以被重写,也就是说当需要对一个方法设置权限时,当一个方法不可被重写时候,可设置为static。




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