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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© See_the_sun 中级黑马   /  2014-6-16 23:47  /  792 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 See_the_sun 于 2014-6-20 21:14 编辑

static 关键怎么用。有什么限制。最好别纯文字的  格式类似于  一行代码//注解  。如果没办法,那纯文字也行

7 个回复

倒序浏览
static 可以修饰成员变量 成员方法  还可以构造静态代码块。
static 不可以修饰和abstract 修饰的方法,static修饰的方法 可以被类名.方法名 直接调用, 二者共存的话,调用抽象方法没有意义

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
static 定义静态的东东,基本语法规范,你楼上说了。
什么时候用,那你就要深入理解它的优势和缺陷。
优点就是无须实例化对象,加载即可用。
缺陷肯定就是占资源了,毕竟它一加载后就始终存在。不像其它的,要你自己实例化后才存在。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
默认的都是动态,句柄不指向它时就成了废弃的量,等待垃圾回收器回收,而static修饰东西会一直存在于内存中,除非static所在的这个类被程序注销从内存清除了,否则一直占据内存。前者可以节约资源占有,但是效率会低点,适用于需要频繁变更的量,后者占据资源多,不过效率高点,适用于很长一段时间不用变更的量
回复 使用道具 举报
上面说的很对啊,学习下了
回复 使用道具 举报
墓____夜 发表于 2014-6-17 08:54
static 可以修饰成员变量 成员方法  还可以构造静态代码块。
static 不可以修饰和abstract 修饰的方法,sta ...

谢谢。还有个问题。为什么static的方法只能调用static 的方法。
回复 使用道具 举报
See_the_sun 发表于 2014-6-18 20:57
谢谢。还有个问题。为什么static的方法只能调用static 的方法。

因为static 是静态。 静态是随着类的加载而加载。
如果调用普通方法,在类加载时 普通方法是没有加载的,也就是说有静态的时候是没有普通方法的。你调用一个空的方法 跟定不行。
故 静态调用普通方法 是不行的。
回复 使用道具 举报
墓____夜 发表于 2014-6-18 23:36
因为static 是静态。 静态是随着类的加载而加载。
如果调用普通方法,在类加载时 普通方法是没有加载的, ...

谢谢,我明白了。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马