static静态关键字的解析

static静态关键字的解析

ID:31090761

大小:73.00 KB

页数:4页

时间:2019-01-06

static静态关键字的解析_第1页
static静态关键字的解析_第2页
static静态关键字的解析_第3页
static静态关键字的解析_第4页
资源描述:

《static静态关键字的解析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、tatic是Java中的一个关键字,我们不能声明普通外层类或者包为静态的。static用于下面四种情况。静态变量:我们可以将类级别的变量声明为statico静态变量是属于类的,而不是属于类创建的对象或实例。因为静态变量被类的所有实例共用,所以非线程安全的。通常静态变量还和关键字final—起用,作为所有对象共用的资源或常量。如果静态变量不是私有的,那么可以通过ClassName.variablcName来访问它。静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该区域屮的数据在整个程序的运行期间一直占用这

2、些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直到整个程序运行结束(相反,而auto自动变量,即动态局部变量,属于动态存储类别,占动态存储空间,函数调用结束后即释放)。静态变量虽在程序的整个执行过程中始终存在,但是在它作用域之外不能使用。另外,屈于静态存储方式的量不一定就是静态变量。例如:外部变量虽属于静态存储方式,但不一定是静态变量,必须由static加以定义后才能成为静态外部变量,或称静态全局变量。所有的全局变量都是静态变量,而局部变量只有定义时加上类型修饰符static,才为局部静态变量。静态变量可以在任何可以中

3、请的地方中请,一旦中请成功后,它将不再接受其他的同样中请。静态变量并不是说其就不能改变值,不能改变值的量叫常量。其拥有的值是可变的,而且它会保持最新的值。说其静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。/静态变量的例子privatestaticintcount;publicstaticStringstr;publicstaticfinalStringDB_USER二"myuser"静态方法:类似于静态变量,静态方法也属于类,不属于实例的。静态类只能访

4、问类的静态变量,或调用类的静态方法。通常静态方法作为工具方法,被其它类使用,而不需要创建类的实例。譬如集合类、Wrapper类(String,Integer等)和工具类(java.util中的类)都有很多静态方法。通常java程序的开始就是一个main()方法,它就是个静态方法。/静态方法的例子publicstaticvoidsctCount(intcount){if(count>0)StaticExample.count=count;//静态工具方法publicstaticintaddlnts(inti,int.・・js){intsum=i

5、;for(intx:js)sum+=x;returnsum;静态块:静态块就是类加载器加载对象时,耍执行的一组语句。它用于初始化静态变量。通常用于类加载的时候创建静态资源。我们在静态块中不能访问非静态变量。我们可以在一个类中有多个静态块,尽管这么做没什么意义。静态块只会在类加载到内存屮的时候执行一次。static{//在类被加载的时候用于初始化资源System,out.printin(,zStaticExamplestaticblock");//仅能访问静态变量和静态方法str二"Test";sctCount(2);静态类:我们对嵌套类使用s

6、tatic关键字。static不能用于最外层的类。静态的嵌套类和其它外层的类别无二致,嵌套只是为了方便打包。延伸阅读:嵌套类让我们来看一个使用static关键字的例子:StaticExample.javapackagecom.journaldev.misc;publicclassStaticExample{//静态块static{〃在类被加载的时候用于初始化某些资源System,out.println("StaticExamplestaticblock");〃仅能访问静态变量和静态方法str二"Tcst〃;setCount(2);〃可以在一个

7、类中有多个静态块static{System,out•println(〃StaticExamplestaticblock2〃);}//静态变量privatestaticintcount;//保持私有,仅能靠setter方法访问publicstaticStringstr;publicintgetCount(){returncount;}//静态方法publicstaticvoidsetCount(intcount){if(count>0)StaticExample.count二count;}//静态工具方法publicstaticintaddln

8、ts(inti,int...js){intsum二i;for(intx:js)sum+=x;returnsum;}〃静态类的例子,方便打包之用publicstati

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。