欢迎来到天天文库
浏览记录
ID:11263738
大小:73.87 KB
页数:10页
时间:2018-07-11
《java中static关键字总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、www.accpbj.comJava中static关键字总结 1.静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法 声明为static的方法有以下几条限制: ·它们仅能调用其他的static方法。 ·它们只能访问static数据。 ·它们不能以任何方式引用this或super。 classSimple{ staticvoidgo(){ System.out.println("Welcome"); } } publicclassCal{ publicstatic
2、voidmain(String[]args){www.accpbj.com Simple.go(); } } 调用一个静态方法就是“类名.方法名”,静态方法的使用很简单如上所示。一般来说,静态方法常常为应用程序中的其它类提供一些实用工具所用,在Java的类库中大量的静态方法正是出于此目的而定义的。 2.静态变量 声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。静态变量与静态方法类似。所有此类实例共享此静态变量,也就是说在类
3、装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间,当然对于final则另当别论了 classValue{ staticintc=0; staticvoidinc(){ c++; } }www.accpbj.com publicclassCount2{ publicstaticvoidprt(Strings){ System.out.print(s); } publicstaticvoidmain(String[]args){ Valuev1,v2; v1=newValue(); v2=
4、newValue(); prt("v1.c="+v1.c+"v2.c="+v2.c); v1.inc(); prt("v1.c="+v1.c+"v2.c="+v2.c); } } 结果为:v1.c=0v2.c=0v1.c=1v2.c=1www.accpbj.com 由此可以证明它们共享一块存储区。static变量有点类似于C中的全局变量的概念。 值得探讨的是静态变量的初始化问题。 如果你需要通过计算来初始化你的static变量,你可以声明一个static块,Static块仅在该类被加载时执行一次。下面的例子显示
5、的类有一个static方法,一些static变量,以及一个static初始化块: classValue3{ staticintc=0; Value3(){ c=15; } Value3(inti){ c=i; } staticvoidinc(){ c++;www.accpbj.com } } publicclassCount{ publicstaticvoidprt(Strings){ System.out.println(s); } Value3v=newValue3(10); static
6、Value3v1,v2; static{//此即为static块 prt("v1.c="+v1.c+"v2.c="+v2.c); v1=newValue3(27); prt("v1.c="+v1.c+"v2.c="+v2.c); v2=newValue3(15); prt("v1.c="+v1.c+"v2.c="+v2.c);www.accpbj.com } publicstaticvoidmain(String[]args){ Countct=newCount(); prt("ct.c="+ct.v.c);
7、 prt("v1.c="+v1.c+"v2.c="+v2.c); v1.inc(); prt("v1.c="+v1.c+"v2.c="+v2.c); prt("ct.c="+ct.v.c); } } 结果为:v1.c=0v2.c=0 v1.c=27v2.c=27 v1.c=15v2.c=15 ct.c=10www.accpbj.com v1.c=10v2.c=10 v1.c=11v2.c=11 ct.c=11 这个程序展示了静态初始化的各种特性。如果你初次接触Java,结果可能令你吃惊。可能会对sta
8、tic后加大括号感到困惑。首先要告诉你的是,static定义的变量会优先于任何其它非static变量,不论其出现的顺序如何。正如在程序中所表现的,虽然v出现在v1和v2的前面,但是结果却是v1和v2的初始化在v的前面。在static{后面跟着一段代码,这是用来进
此文档下载收益归作者所有