单态设计模式--一个类只能创建一个实例(对象)

class Person
{
static Person p = new Person();     // 由于此声明在类内部,可以使用 new Person() 来创建新对象。声明为static,表明此类只能创建一个对象
String name;
int age;

private Person()                           构造函数声明为private,类外部不可以用 new Person() 来创建新的对象
{

}
static Person getIntance()        //此方法返回一个Person对象,用于外部类创建Person对象,声明为static则外部可用Person.getIntance()来构建对象
{
return p;
}
}


class Leason32
{
public static void main(String[] args)
{
//Person p1 = new Person();
Person p1 = Person.getIntance();         //构建Person对象实例
p1.name = "ye";
p1.age = 12;
Person p2 = Person.getIntance();       //再次构建Person对象实例
System.out.println(p2.name+p2.age);      //取出p2实例的成员数据,因构建函数没有做任何动作,name=null,age=0,但此时输出为ye12,因Person只能构建一次,p2不能完成动作
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值