黑马程序员技术交流社区

标题: static有什么用途?(请至少说明两种) [打印本页]

作者: smile78356    时间: 2015-3-25 11:35
标题: static有什么用途?(请至少说明两种)
之前的遇到的一问题,现在还不知怎么回答,请大家指点
作者: zhqw_heima    时间: 2015-3-25 13:35
static可以用来修饰成员,可以用来修饰成员变量和成员函数、修饰变量和方式时,调用该变量或者方法时不必实例化类
作者: 圣光忏悔    时间: 2015-3-25 13:44
被static修饰的变量,在被多个子类对象调用的时候,子类对象会调用同一个,不加的话就是子类对象各自新new 出来的对象.
保证了唯一性,也可以用来修饰线程中的锁对象.
作者: ruchsky    时间: 2015-3-25 14:27
我使用static可以用来对非轻量型的资源对象单例,比如使用jdbc数据库连接,还有就是如果用static修饰了属性或则一个方法,那么我用到该属性或则方法时就可以直接用类名.属性名的方法来使用该属性,可能回答的不好。。。
作者: 邓熊财    时间: 2015-3-25 16:31
修饰成员变量和成员函数,在静态方法中不可以调用非静态方法,被静态修饰的成员变量叫类类型变量,可以直接通过类名来调用
作者: 福娃51zx    时间: 2015-3-25 18:16
当成员被static修饰后,多了一种访问方式,除了可以对象调用之外,还可以被类名直接调用(类名.静态成员)

static的特点
1.随着类的加载而被加载
2.优先于对象的存在
3.被所有的对象所共享
4.可以直接被类名所调用
作者: Dark县令    时间: 2015-3-25 23:46
楼上正解!
作者: 极光_CDY    时间: 2015-3-25 23:54
1对类进行初始化
2静态修饰变量节约空间
3静态函数可以制作工具类(无特有数据)
作者: longer    时间: 2015-3-26 00:03
static是静态修饰符,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用static声明的,这样的对象不用实例化就可以使用了
作者: HMjack168    时间: 2015-3-26 00:35
在静态成员不是很多的话,static可以起到降低堆内存压力的作用。
作者: 刘潘敏    时间: 2015-3-26 01:03
http://www.51cto.com/specbook/24/35011.htm,给你推荐个链接
作者: 刘潘敏    时间: 2015-3-26 01:06
http://jingyan.baidu.com/article/6525d4b1328d10ac7d2e949f.html,希望帮到你




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