游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1567|回复: 0

java的static关键字wxh zt

[复制链接]

1367

主题

1993

帖子

2118

积分

金牌会员

Rank: 6Rank: 6

积分
2118
发表于 2005-7-5 16:35:00 | 显示全部楼层 |阅读模式

有两种情况是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) {
            StaticTest t1 = new StaticTest();
            StaticTest t2 = new StaticTest();
            t1.i = 50;
            System.out.println(t1.i);
            System.out.println(t2.i);
        }
    }




    结果为:



     50



     50



    为什么会有这样的结果呢?这是因为它们都指向同一块内存。



    另外,调用static函数或变量,除了利用对象定址外(t1.i = 50),也可以直接使用其class名,即(StaticTest.i = 50)。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-26 06:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表