单例模式如何传参?

avatar 2017年04月25日17:48:52 1 4043 views
博主分享免费Java教学视频,B站账号:Java刘哥 ,长期提供技术问题解决、项目定制:本站商品点此
首先我们知道单例模式有以下特点
  1、单例类只能有一个实例。
  2、单例类必须自己创建自己的唯一实例。
  3、单例类必须给所有其他对象提供这一实例。



然后我们可以通过单例模式来完成以下这道题
Java设计person类,有姓名,年龄,性别。要求:该类至多只能创建一个对象。
代码如下
  1. package com.liuyanzhao;
  2. class Person {
  3.     private String name;
  4.     private int age;
  5.     private String sex;
  6.     public String getName() {
  7.         return name;
  8.     }
  9.     public int getAge() {
  10.         return age;
  11.     }
  12.     public String getSex() {
  13.         return sex;
  14.     }
  15.     private Person(String name, int age, String sex) {
  16.         this.age = age;
  17.         this.name = name;
  18.         this.sex = sex;
  19.     }
  20.     private static Person s;
  21.     public static Person getInstance(String name, int age, String sex) {
  22.         if (s == null) {
  23.             s = new Person(name, age, sex);
  24.             System.out.println("创建成功:" + "name=" + name + ",age=" + age + ",sex=" + sex);
  25.             return s;
  26.         }
  27.         System.out.println("创建失败,您已经创建了一个对象啦");
  28.         return null;
  29.     }
  30. }
  31. public class Test {
  32.     public static void main(String[] args) {
  33.         Person s = Person.getInstance("刘言曌"20"男");
  34.         Person s1 = Person.getInstance("刘亦菲"30"女");
  35.     }
  36. }

运行结果:





我们这题就是通过单例模式传了三个参数,完成的,当然还有其他解法,比如参考这里

http://liuyanzhao.com/3336.html



本文地址:http://liuyanzhao.com/3340.html

转载请注明

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 编程爱好者交流群
  • 资源分享,问题解决,技术交流。QQ群:424285828(新群)
  • weinxin
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0