zoukankan      html  css  js  c++  java
  • 单例模式

    单例模式的两种情况:饿汉模式,懒汉模式.

    //懒汉模式
    public class a{
        public static void main(String[] args){
            
        }
        private a(){// 1 创建私有化的构造方法  外部就不能 直接访问了 就不能直接实例化当前类对象了

        }
        private static a b = null; // 2 创建 静态变量 用来保存对象内存地址的  注意数据类型 要和类名相同,因为内存地址是类名数据类型的
        public static a m1(){//静态方法 , 让外部 可以通过调用这个方法  就能 实例化这个类对象
            if (b==null) {//我只想让它实例化一次 所以判断 ,当我b为空的时候,在执行以下java语句,当b不为空的时候,就跳过,直接输出后面的java语句
                  b = new a();//实例化当前类对象 并赋值给 b  
                  return b;//返回值,把b里面的内存地址 返回到方法名 外部直接调用方法,就能获取本类的内存地址
            }  
            return b;//当b不为空的时候,就直接返回值 把 b返回到方法名  所以 这个类的对象,只实例化了一次吧
        }
    }
    //饿汉模式
    public class a{
        private a(){//私有化无参构造

        }
        private static a b = new a();  //声明静态变量 并赋值 值为本类的内存地址
        public static a m1(){//静态方法  外部可以通过调用次方法 获得本类的内存地址
            return b;//返回值 b b保存的是内存地址  所以返回 b  就能把内存地址 返回到方法 外部就能使用了
        }
        public static void main(String[] args){
            
        }
    }

    写的不是很详细,只是举了两个例子,总结一下,有不好的请多多提出宝贵意见.

  • 相关阅读:
    【原创】用一个登陆的例子详细学习ObjectC基本语法
    一篇不错的讲解Java异常的文章(转载)
    在XML文件中定义动画(1)
    列表异步线程加载图片
    如何解决加载大图片时内存溢出的问题
    ImageView加载当地和网络图片
    不等号运算符<>
    vue回到顶部组件
    js实现多标签页效果
    微信小程序播放视频发送弹幕效果
  • 原文地址:https://www.cnblogs.com/xrmqbl804915256/p/4735289.html
Copyright © 2011-2022 走看看