单例模式如何传参?

首先我们知道单例模式有以下特点
  1、单例类只能有一个实例。
  2、单例类必须自己创建自己的唯一实例。
  3、单例类必须给所有其他对象提供这一实例。

然后我们可以通过单例模式来完成以下这道题

Java设计person类,有姓名,年龄,性别。要求:该类至多只能创建一个对象。

代码如下

package com.liuyanzhao;
class Person {
    private String name;
    private int age;
    private String sex;
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
    public String getSex() {
        return sex;
    }
    private Person(String name, int age, String sex) {
        this.age = age;
        this.name = name;
        this.sex = sex;
    }
    private static Person s;
    public static Person getInstance(String name, int age, String sex) {
        if (s == null) {
            s = new Person(name, age, sex);
            System.out.println("创建成功:" + "name=" + name + ",age=" + age + ",sex=" + sex);
            return s;
        }
        System.out.println("创建失败,您已经创建了一个对象啦");
        return null;
    }
}
public class Test {
    public static void main(String[] args) {
        Person s = Person.getInstance("刘言曌", 20, "男");
        Person s1 = Person.getInstance("刘亦菲", 30, "女");
    }
}

运行结果:
这里写图片描述

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


本文地址:http://liuyanzhao.com/3340.html
转载请注明

你可能感兴趣的:(java,string,c语言,对象,单例模式,Java,Java基础)