随笔 - 71  文章 - 15  trackbacks - 0
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

因为口渴,上帝创造了水;
因为黑暗,上帝创造了火;
因为我需要朋友,所以上帝让你来到我身边
Click for Shaanxi xi'an, Shaanxi Forecast
╱◥█◣
  |田|田|
╬╬╬╬╬╬╬╬╬╬╬
If only I have such a house!
〖总在爬山 所以艰辛〗
Email:myesjoy@yahoo.com.cn
NickName:yesjoy
MSN:myesjoy@hotmail.com
QQ:150230516

〖总在寻梦 所以苦痛〗

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

文章档案

Hibernate在线

Java友情

Java认证

linux经典

OA系统

Spring在线

Structs在线

专家专栏

企业信息化

大型设备共享系统

工作流

工作流产品

网上购书

搜索

  •  

最新评论

阅读排行榜

评论排行榜

java的static关键字是非常有用的.
有两种情况是non-static无法做到的,这时你就要使用statice。
第一种:你希望不论产生了多少个对象,或不存在任何对象的情形下,那些特定数据的存储空间都只有一份;
第二种:你希望某个函数不要和class object绑在一起。即使没有产生任何object,外界还是可以调用其static函数,或是取用其static data。
如何理解呢,看完下面的小例子,就会理解了。

public class StaticTest {
    
static int i = 47;
}

public class Test {
    
public static void main(String[] args) {
        System.out.println(StaticTest.i);
        StaticTest.i 
= 30;
        System.out.println(StaticTest.i);

        StaticTest t1 
= new StaticTest();
        StaticTest t2 
= new StaticTest();
        t1.i 
= 50;
        System.out.println(t1.i);
        System.out.println(t2.i);
    }

}

输出结果为:
47
30
50
50
为什么会有这样的结果呢?这是因为它们都指向同一块内存。
另外,调用static函数或变量,除了利用对象定址外(t1.i = 50),也可以直接使用其class名,即(StaticTest.i = 50)。

参考来自:http://www.tianya.cn/techforum/Content/414/4347.shtml
posted on 2007-06-19 14:53 ★yesjoy★ 阅读(258) 评论(0)  编辑  收藏 所属分类: Java基础知识

只有注册用户登录后才能发表评论。


网站导航: