public class Singleton2
{//私有的默认构造子
private Singleton2() {}//注意 , 这里没有final
private static Singleton2 single=null;//静态工厂方法
public synchronized static Singleton2 getInstance() {if (single == null) { single = new Singleton2();}return single;}}
(3)工厂模式:
interface IFactory{ public IProduct createProduct();}
Class Factory implements IFactory{ public IProduct createProduct(){return new Product();}}
Public class client
{ Public Static void main (String [] args)
{IFactory factory=new Factory(); IProduct product=factory.createProduct(); product.ProductMethod();}}
java 的问题一个一个回答饱汉模式java代码:
1饱汉模式java代码 , private
static
final
Person
p
=
new
Person();//总体有疑问
这句表示创建一个静态的一次赋值的变量饱汉模式java代码,并且后面不可更改,这里用的new就是调用的
private
Person()
{
name
=
"zhang";
age
=
20;
}
这个构造方法创建的对象,所以p这个对象有name="zhang"和age=20的属性 。
2,Person
p
=
Person.getP();
//为什么不new?而是调用static的getP
因为饱汉模式java代码你用了私有的构造方法 , 而在TaskPerson这个类里面无法调用到,
private
Person()
{
name
=
"zhang";
age
=
20;
}
所以不能用new,编译会出错(不符合访问控制权限) 。
3,System.out.println(p.name);//这个p是上面产生的?为什么可以这样用?
第一句里面你理解了这句就知道了,Person类的唯一实例就是具有name="zhang"和age=20的属性的那个,这是单例模式的一种形式(饱汉方式),所以会打印zhang 。
【饱汉模式java代码 java饱和】饱汉模式java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java饱和、饱汉模式java代码的信息别忘了在本站进行查找喔 。
推荐阅读
- 指纹采集软件安卓,指纹采集软件安卓下载
- 鸡西专业sap合作伙伴,鸡西专业sap合作伙伴公司
- jquery设置位置,jquery修改div位置
- 如何停止360广告推广,怎么关闭360的广告推送
- php加解密的数据 php des解密
- jquery提示层,jquery弹出窗口
- 鸿蒙系统文件夹怎么换图片,鸿蒙系统文件夹怎么换图片背景
- 新媒体如何推广内容,新媒体如何推广内容营销
- java控制台代码 java控制台指令