黑马程序员技术交流社区

标题: 毕老师讲String类的时候为什么写的函数都是静态的? [打印本页]

作者: 孙汇川    时间: 2012-2-15 23:16
标题: 毕老师讲String类的时候为什么写的函数都是静态的?
如题!他有时候写函数还专门避开用静态的,说生存周期太长,太占资源,但是在讲String类练习的时候写的函数全部都是静态的,不理解,求解释!
作者: 李杨    时间: 2012-2-15 23:21
老师为了方便不new对象了.静态方法直接用多省事.

但是要区分什么时候用什么时候不用.

静态方法.比如你写自己的utils工具类的时候最好使用静态方法.

还有就是你定义的常量,能用静态首先选择静态,在没有什么影响的时候.

你要理解老师,要心疼老师奥..
作者: 孙汇川    时间: 2012-2-15 23:23
刚想起来个原因,拿13天07为例,是不是因为主函数是静态的,所有函数都跟主函数在一个类中,所以主函数调用的必须是静态函数?怎么感觉这个原因有些牵强呢?要这么说的话主函数调用别的类的函数就可以是非静态的,调用本类的就必须是静态的?有些迷了!求解释!
作者: 陈丹阳    时间: 2012-2-15 23:24
{:soso_e103:}  因为main函数是静态的,只能调用同一个类的静态方法,为了方便演示,所以在课程里面所有被主函数调用的方法都写成静态的。
作者: 丁晓宇    时间: 2012-2-16 12:54
静态方法可以直接调用而不用实例化对象我想是因为这样的,
作者: 黄锦成    时间: 2012-2-16 16:56
这个只是在讲解基础。为了方便而已。但是开发的时候不要这样做
作者: 彭嘉聪    时间: 2012-2-16 17:00
因为静态方法和类字节码是统一地方存储的,而对象和非静态方法是动态链接的,所以你没有对象何来调用非静态方法?
要明白面向对象原理,是把功能封装到对象中,
静态则是不用创建对象的直接用的,可以演示为了方便就采取了方法都设为静态的方法
作者: 刘明瑞    时间: 2012-2-16 17:02
用静态的方法,用起来不是很方便么
作者: 戚雪晖    时间: 2012-2-16 22:35
刘明瑞 发表于 2012-2-16 17:02
用静态的方法,用起来不是很方便么

静态相当于共享,类一加载他就跟着存在了,这样即使不用这个方法的话,这个方法一直在内存中,消耗资源
作者: 花开~的季节    时间: 2012-2-17 10:20
老师是方便讲课,写static直接调用,不用创建对象那么麻烦了,你自己知道就行了,没有什么的!
作者: 陈伟    时间: 2012-2-17 11:06
静态方法在类一加载到内存中就存在了,不用new对象,另外因为main方法是静态的,所以为了方便使用才这样做,但是这样做太占内存空间,老师是为了讲课的需要才这么做的




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