哪吒2之魔童闹海|哪吒2之魔童归来免费观看|哪吒2在线观看|哪吒2魔童闹海电影免费观看|哪吒2免费观看完整版大电影|哪吒1免费观看完整版

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術(shù) 網(wǎng)站建設
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> Java技術(shù) >> 文章正文

Java單子模式如何應用

前不久在被問到一個問題,有關(guān)Java的界面的編程,當點擊一個按鈕時,要產(chǎn)生一個窗體,但是每點一次都會產(chǎn)生一個,由此想到了Java的設計模式之單子模式,利用單子模式很好的解決了這個問題.
單子模式就是一個類只能產(chǎn)生一個實例.代碼如下:
package test;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.*;
import javax.swing.JLabel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
//單子模式類
public class SingletonDemo extends JFrame {
  //一個私有的,靜態(tài)的本類對象
    private static SingletonDemo testFrame=new SingletonDemo();
    JLabel jLMes = new JLabel();
   //構(gòu)造必須是私有的,這樣其它的類才不能訪問
    private SingletonDemo() {
        getContentPane().setLayout(null);     
        this.getContentPane().add(jLMes);
        this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        jLMes.setText("這是產(chǎn)生的唯一窗體");
        jLMes.setBounds(new Rectangle(103, 53, 230, 96));      
    }
// 公有的靜態(tài)方法返回一個本類對象
    public static synchronized SingletonDemo getInstance()    {
        return testFrame;
    }
}
//測試類

class Test extends JFrame {
   
     JButton jBFrame = new JButton(); 
     public Test() {
        getContentPane().setLayout(null);
        jBFrame.setBounds(new Rectangle(125, 182, 118, 43));
        jBFrame.setText("單擊產(chǎn)生唯一窗體");
       
  this.jBFrame.addActionListener(new MyActionListener());
   this.getContentPane().add(jBFrame);
         this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        this.setSize(300,200);
        this.setVisible(true);
    }

    public static void main(String[] args) {
Test test = new Test();
    }
    
    class MyActionListener implements ActionListener {

      //單擊按鈕時調(diào)用單子模式類的靜態(tài)方法,獲得一個對象
        public void actionPerformed(ActionEvent e) { 
            SingletonDemo testFrame=SingletonDemo.getInstance() ;
            testFrame.setSize(300,200);     
            testFrame.setVisible(true);            
 
        }
    }
}
創(chuàng)建一個單子類必須滿足以下三個條件:
1.構(gòu)造器私有
2.提供一個私有靜態(tài)變量引用實例   
3.提供一個共有,靜態(tài)方法獲得實例.

作者:未知 | 文章來源:未知 | 更新時間:2007-12-12 17:30:18

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    JAVA開發(fā)的6個實踐的例子
    JAVA中的抽象類型的一些概念
    java語言開發(fā)程序中的幾個例子大家看看
    了解java開發(fā)語言在軟件開發(fā)中的幾個誤區(qū)
    如何才能使用Java實現(xiàn)內(nèi)部領(lǐng)域的特定語言
    Java開發(fā)學習小心使用Date以及Time類
    sun最近修補了一部分java的安全補丁
    Java程序員應該了解那些開源協(xié)議
    java性能優(yōu)化的一些見解
    解析c#語言和java語言最相似的地方
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·j2se 嵌入式腳本抓取引擎
    ·JAVA開發(fā)的6個實踐的例子
    ·JBuilder7 / Weblogic7開發(fā)
    ·JAVA中的抽象類型的一些概
    ·java語言開發(fā)程序中的幾個
    ·了解java開發(fā)語言在軟件開
    ·如何才能使用Java實現(xiàn)內(nèi)部
    ·Java開發(fā)學習小心使用Date
    ·Java程序員應該了解那些開
    ·java性能優(yōu)化的一些見解
    ·介紹JDK5.0一些collection
    ·基礎(chǔ)學習:java中使用存儲
    ·解析c#語言和java語言最相
    ·Java語言學習:jAVA中 的多
    ·Java是不是應該增加新特性
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.pg11qqq.com All Rights Reserved 新ICP備14003571號
    新疆軟件開發(fā)總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    陈巴尔虎旗| 开鲁县| 临沧市| 陆良县| 伊金霍洛旗| 盱眙县| 文昌市| 元江| 广南县| 册亨县| 全州县| 宁阳县| 嘉兴市| 西林县| 青神县| 武定县| 石棉县| 莎车县| 广西| 龙胜| 平昌县| 建平县| 和静县| 万荣县| 吉木乃县| 资兴市| 肇东市| 监利县| 罗平县| 成武县| 邻水| 疏附县| 鸡泽县| 都匀市| 定安县| 筠连县| 滦平县| 竹山县| 永春县| 岳池县| 阿坝县|