• 懒汉工厂测试


    package com.aaa.demo;
    
    public class JavaStudy implements ISoftwareStudy{
        @Override
        public void study() {
            System.out.println("JAVA study");
        }
    }
    package com.aaa.demo;
    
    public class PhthonStudy implements ISoftwareStudy {
        @Override
        public void study() {
            System.out.println("Phonth study");
        }
    }
    package com.aaa.demo;
    
    public class UIStudy implements ISoftwareStudy {
        @Override
        public void study() {
            System.out.println("UI study");
        }
    }
    package com.aaa.demo;
    
    public interface ISoftwareStudy {
        void study();
    }
    package com.aaa.demo;
    
    public class AFactory {
        public ISoftwareStudy getStudy(int num){
            ISoftwareStudy s=null;
    
            if (num==1){
                s=new JavaStudy();
            }else if(num==2){
                s=new PhthonStudy();
            }else if(num==3){
                s=new UIStudy();
            }
            return s;
            /**
             *
             * */
        }
    }
    package com.aaa.demo;
    
    /*
    * 饿汉单例模式
    * */
    public class HungryDemo {
        private HungryDemo(){
    
        }
        //静态的:在内存中只存在一个全局
        private static HungryDemo s= new HungryDemo();
        private static HungryDemo y=new HungryDemo();
    
        public static HungryDemo getInstance(){
            System.out.println("this change has come into effect!");
            return s;
        }
    
        public static HungryDemo getInstances(){
            System.out.println("This change has come into effect!");
            return y;
        }
    }
    package com.aaa.demo;
    
    /*
    * 饿汉单例模式
    * */
    public class HungryDemo {
        private HungryDemo(){
    
        }
        //静态的:在内存中只存在一个全局
        private static HungryDemo s= new HungryDemo();
        private static HungryDemo y=new HungryDemo();
    
        public static HungryDemo getInstance(){
            System.out.println("this change has come into effect!");
            return s;
        }
    
        public static HungryDemo getInstances(){
            System.out.println("This change has come into effect!");
            return y;
        }
    }
    package com.aaa.demo;
    
    public class StarvingDemp {
        private StarvingDemp(){
    
        }
        private static StarvingDemp s=null;
    
        public static StarvingDemp getInstance(){
            if(null==s){
                s=new StarvingDemp();
            }else {
                System.out.println("this ok");
            }
            return s;
        }
    }
  • 相关阅读:
    JS中的call()和apply()方法
    jQuery的deferred对象详解
    浅谈postMessage多页面监听事件
    js 的try catch
    浅谈JavaScript DOM编程艺术读后感和一点总结
    人人都看得懂的正则表达式教程
    JavaScript面向对象精要
    配置Tomcat配置路径
    IOS, Android, Java Web Rest : RSA 加密和解密问题
    说说secondarynamenode作用和配置
  • 原文地址:https://www.cnblogs.com/fanqiexin/p/11149160.html
Copyright © 2020-2023  润新知