A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Oh.Ba 中级黑马   /  2015-4-23 21:15  /  1041 人查看  /  22 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Oh.Ba 于 2015-4-24 22:17 编辑

很多时候看到一些代码,有些有,有些没有,哪个大神告诉我static的定义是什么,作用是什么???

评分

参与人数 1黑马币 +5 收起 理由
白小马 + 5 赞一个!

查看全部评分

22 个回复

倒序浏览
静态修饰符,在类中,你把方法修饰了static, 那么该方法就可以用类名直接调用,而static方法只能调用static方法。
究其原因主要还是个加载到jvm的时间问题。
static修饰的成员会在对象建立前就先加载到内存

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

回复 使用道具 举报
好像是没有用到函数内特有的数据是可以是使用静态,如果需要使用函数中特有的变量是不可以使用静态,静态放方便对象的用。说的不对不要笑哦!
回复 使用道具 举报
静态修饰符,用了之后可以直接用类名访问
回复 使用道具 举报
chenxin2015 来自手机 中级黑马 2015-4-23 22:05:17
报纸
Static用来修饰成员变量和成员方法,
如果发现某些数据是多个对象所共享,那么可以将这个成员变量用static
回复 使用道具 举报
shield 发表于 2015-4-23 21:37
静态修饰符,在类中,你把方法修饰了static, 那么该方法就可以用类名直接调用,而static方法只能调用stati ...

不懂,就是说它会有个优先权?还是?
回复 使用道具 举报
静态修饰符,修饰成员和方法
回复 使用道具 举报
Oh.Ba 中级黑马 2015-4-23 22:20:23
8#
邓熊财 发表于 2015-4-23 21:56
好像是没有用到函数内特有的数据是可以是使用静态,如果需要使用函数中特有的变量是不可以使用静态,静态放 ...

就是说动态类型的就不加这个是吗????
回复 使用道具 举报
shield 中级黑马 2015-4-23 22:21:05
9#
Oh.Ba 发表于 2015-4-23 22:10
不懂,就是说它会有个优先权?还是?

不是优先权问题, 是表示jvm把代码一加载,看到static就直接读到内存里面了。而没有static修饰的,要在对象建立的时候才会加载进去。
回复 使用道具 举报
Oh.Ba 中级黑马 2015-4-23 22:33:56
10#
shield 发表于 2015-4-23 22:21
不是优先权问题, 是表示jvm把代码一加载,看到static就直接读到内存里面了。而没有static修饰的,要在对 ...

好像有点明白了,可能初学不懂吧,有时候不知道加还是不加
回复 使用道具 举报
Oh.Ba 发表于 2015-4-23 22:33
好像有点明白了,可能初学不懂吧,有时候不知道加还是不加

慢慢看。 毕向东基础视屏包解决
回复 使用道具 举报
Oh.Ba 发表于 2015-4-23 22:20
就是说动态类型的就不加这个是吗????

也不能这么说,静态有静态的好处,非静态有飞静态的好处,他们的区别在于调用和是否需要用到方法中特有的数据
回复 使用道具 举报
LTT 中级黑马 2015-4-23 22:37:22
13#
那动态的static是不是经常用
回复 使用道具 举报
Oh.Ba 中级黑马 2015-4-23 22:39:33
14#
LTT 发表于 2015-4-23 22:37
那动态的static是不是经常用

应该是吧,大多数类里都有这个,个别的没有,这我就不太明白了
回复 使用道具 举报
Oh.Ba 中级黑马 2015-4-23 22:41:06
15#
邓熊财 发表于 2015-4-23 22:36
也不能这么说,静态有静态的好处,非静态有飞静态的好处,他们的区别在于调用和是否需要用到方法中特有的 ...

就是说有static的才能被调用?
回复 使用道具 举报
2楼正解,static是个关键.需要好好研究一下.
回复 使用道具 举报
Oh.Ba 发表于 2015-4-23 22:41
就是说有static的才能被调用?

没有,是静态的可以被飞静态的调用,但是非静态不可以被静态调用,
静态的调用方法是累名.方法名
回复 使用道具 举报
定义static的变量会被每个对象所共享。这个变量属于类本身。
回复 使用道具 举报
Oh.Ba 中级黑马 2015-4-23 22:49:34
19#
邓熊财 发表于 2015-4-23 22:47
没有,是静态的可以被飞静态的调用,但是非静态不可以被静态调用,
静态的调用方法是累名.方法名 ...

貌似有点明白
回复 使用道具 举报
Oh.Ba 中级黑马 2015-4-23 22:50:38
20#
张乐 发表于 2015-4-23 22:46
2楼正解,static是个关键.需要好好研究一下.

是的,对很多关键字的用途了解太少了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马