/*
需求:单例设计模式例子:超人
*/
class SingleSuperMan
{
public static void main(String[] args)
{
SuperPerson s1=SuperPerson.getInstance();
s1.setName("奥特曼");
SuperPerson s2=SuperPerson.getInstance();
System.out.println("s1="+s1.getName()+" , s2="+s2.getName());
}
}
class SuperPerson
{
//私有成员变量,通过setName() 和 getName() 方法来访问变量
private String name;
int age;
//定义一个私有静态的本类对象
private static SuperPerson p=new SuperPerson("阿童木");
//私有化构造函数目的是产生对象的数量可控
private SuperPerson (String name,int age)
{
this.name=name;
}
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
//定义一个其他程序可以访问的方法,在此方法中可以通过条件语句判断是否可以访问p对象
public static SuperPerson getInstance()
{
if (age>100)
{
System.out.println("这个不是超人");
return;
}
return p;
}
}
需求:单例设计模式例子:超人
*/
class SingleSuperMan
{
public static void main(String[] args)
{
SuperPerson s1=SuperPerson.getInstance();
s1.setName("奥特曼");
SuperPerson s2=SuperPerson.getInstance();
System.out.println("s1="+s1.getName()+" , s2="+s2.getName());
}
}
class SuperPerson
{
//私有成员变量,通过setName() 和 getName() 方法来访问变量
private String name;
int age;
//定义一个私有静态的本类对象
private static SuperPerson p=new SuperPerson("阿童木");
//私有化构造函数目的是产生对象的数量可控
private SuperPerson (String name,int age)
{
this.name=name;
}
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
//定义一个其他程序可以访问的方法,在此方法中可以通过条件语句判断是否可以访问p对象
public static SuperPerson getInstance()
{
if (age>100)
{
System.out.println("这个不是超人");
return;
}
return p;
}
}