• java基础 第九章(设计模式 单例模式)


    设计模式(23种)

         设计模式就是一种思想 java 、c++……

         就比如是盖房子,起初只是为了住人,后来房子装饰,装饰就是一种设计模式,分为欧式,中式呀,这就是设计模式。

    一、第一种单例模式(饿汉式)

        1. 一般的思想: 谁调用一个方法,谁就去new一个对象

            单例:自己new自己

        2.分析及步骤

           (1)不能让外界创建对象(构造函数 private )

           (2)让调用类自己去创建一个对象。

           (3)提供一个方法,让外界可以获取第二步创建的共享对象

         例1:class Single{

                       private Single(){    //构造函数

                       }

                       private static Single single =  new Single(); //自己创建对象

                       public static Single getInstance(0{

                            return single;

                       }

                  }

                  public class SingleDemo{

                       public static void main(String[] args){

                           Single single1 = Single.getInstance();

                           Single single2 = Single.getInstance();

                           System.out.println(single1 = single2); // true 

                       }

                  }

           例2: 买袜子的单例

                  class Sock{

                      private int count;

                      private double money;

                      private Sock{

                      }

                      private static Sock.sock = new Sock();

                      public static Sock getInstance(){

                             return sock;

                      }

                      public void setCount(int cc){

                          count = count + cc;

                      }

                      public int getCount(){

                           return count; 

                      }

                      public double getMoney(){

                           return money = count * 10;

                      }

                  }

                  public class SockDemo{

                      public static void main(String[] args){

                          Sock sock1 = Sock.getInstance();

                          sock1.setCount(2);

                          double money1 = Sock.getMoney();

                          System.out.println(money1);

                      }

                  }

    二、第二种单例设计模式(懒汉式)

           例:class Single{

                       private Single(){

                       }

                       private static Single single = null;

                       public static Single getInstance(){

                           if ( single == null) {

                               single = new single();

                           }

                           return single;

                       }

                  }

                  public SingleDemo{

                      public static void main(String[] args){

                          Single single1 = Single.getInstance();

                          Single single2 = Single.getInstance();

                          System.out.println(single1 == single2); //true

                      }

                  }

    三、构造函数

        1.就是给对象初始化

        2.没有返回值

        3.函数的名字和类名一样

        例:class Student{

                   private int id;

                   private String name;

                   public student(){

                        id = 1;

                        name = "java";

                   }

                   public student( int id , String name ){

                        this.id = id;

                        this.name = name;

                   }

                   public void sys(){

                        System.out.println(id);

                        System.out.println(name);

                   }

               }

               public class studentDemo{

                   public static void main(String[] args){

                        Student stu1 = new Student();

                        Student stu2 = new Student();

                        stu1.sys();

                        stu2.sys();

                   }

               }

  • 相关阅读:
    Laravel 404错误,Laravel根目录可以访问,非根目录就会出现404 页面找不到的错误
    laravel 终端自动创建控制器
    在 Windows 中安装 Laravel 5.1.X
    CentOS 6.5 Apache搭建虚拟主机
    Host '192.168.1.21' is not allowed to connect to this MySQL server
    用数组实现栈(C++)
    C++入门级小算法
    一些简单小算法
    C++中的大数乘的实现
    指针数组和数组指针
  • 原文地址:https://www.cnblogs.com/catcoffer/p/8994089.html
Copyright © 2020-2023  润新知