Java Gui中static的妙用

来源:互联网 发布:软件销售行业怎么样 编辑:程序博客网 时间:2024/05/22 06:50

       作为java的关键字,static应该算是很神秘的那种了。查看java的源代码,你会发现有很多static关键字。static的中文意思是“静态的”,很多Java参考书上说它是表示定义的变量作为静态变量,不用通过实例调用。使用Java多年,我的主要应用是使用Java Gui在JApplet在网页中的应用。下面把我对static的理解与应用简单介绍一下。
    1、程序优化。很多人都想程序优化,总认为自己写的程序不满意,运行速度不够快,其实所谓速度优化,归根到底就是多使用共享资源。Java中提供资源共享的关键字就是static。
    2、Java Gui中的应用。很多人写程序时大概要实现这么一个功能:1个主要的MainFrame,然后是很多JDialog,基本过程是点击MainFrame上的按钮,弹出JDialog,然后可能在JDialog上设置某些属性,对应MainFrame上的相关数据刷新,如调用方法refresh()。这个过程可能关闭JDialog,也可能不关闭JDialog。很多人实现时就采用JDialog初始化时传入MainFrame的实例,如果JDialog很少或者对被依附的MainFrame关联很少时采用这种方式当然还可以,但是如果JDialog很多,操作起来可能就比较麻烦了。这里介绍一种使用static的方式,在MainFrame中定义static方式的自身变量self,MainFrame初始化时设置self=this,然后在JDialog中只要调用MainFrame.self.refresh()。
    3、数据间共享。系统界面是一种表现形式,每个界面都对应很多不同的数据结构实例,系统在做大时,往往不同的界面可能要显示相同数据结构中的某些数据。这时如果将数据结构定义在对应的Frame/Applet或者Dialog中,或者将这些数据的引用传来传去,你会发现程序很乱,同时维护很麻烦,更不说什么升级了,一定得从头开始重干。本人在操作时一般定义一个DataSystem,然后将所有数据结构采用static的方式从数据库端初始化过来,界面中调用数据结构时只需采用DataSystem.getMyData()。
        static的使用远不止这些,其实单例模式不正是static的超强使用么? 

原创粉丝点击