java 工厂 单例_java 单例模式和工厂模式实例详解
单例模式根据实例化对象时机的不同分为两种:一种是饿汉式单例,一种是懒汉式单例。
私有的构造方法
指向自己实例的私有静态引用
以自己实例为返回值的静态的公有的方法
饿汉式单例
public class Singleton {
private static Singleton singleton = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return singleton;
}
}
懒汉式单例
public class Singleton {
private static Singleton singleton;
private Singleton(){}
public static synchronized Singleton getInstance(){
if(singleton==null){
singleton = new Singleton();
}
return singleton;
}
}
工厂方法模式代码
interface IProduct {
public void productMethod();
}
class Product implements IProduct {
public void productMethod() {
System.out.println("产品");
}
}
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 prodect = factory.createProduct();
prodect.productMethod();
}
}
抽象工厂模式代码
interface IProduct1 {
public void show();
}
interface IProduct2 {
public void show();
}
class Product1 implements IProduct1 {
public void show() {
System.out.println("这是1型产品");
}
}
class Product2 implements IProduct2 {
public void show() {
System.out.println("这是2型产品");
}
}
interface IFactory {
public IProduct1 createProduct1();
public IProduct2 createProduct2();
}
class Factory implements IFactory{
public IProduct1 createProduct1() {
return new Product1();
}
public IProduct2 createProduct2() {
return new Product2();
}
}
public class Client {
public static void main(String[] args){
IFactory factory = new Factory();
factory.createProduct1().show();
factory.createProduct2().show();
}
}
希望本文对各位朋友有所帮助
java 工厂 单例_java 单例模式和工厂模式实例详解相关推荐
- java打印菱形图案_java打印出菱形图案实例详解
第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...
- java 窗口 单例_java单例模式实现面板切换
本文实例为大家分享了java单例模式实现面板切换的具体代码,供大家参考,具体内容如下 1.首先介绍一下什么是单例模式: java单例模式是一种常见的设计模式,那么我们先看看懒汉模式: public c ...
- java 内部类 单例_Java单例模式的几种实现
一:静态内部类实现单例模式 原理:通过一个静态内部类定义一个静态变量来持有当前类实例,在类加载时就创建好,在使用时获取. 缺点:无法做到延迟创建对象,在类加载时进行创建会导致初始化时间变长. publ ...
- java socket 单例_Java 单例模式的几种实现方式
单例模式的本质是在运行过程中,某个类只能实例化一个对象:下面是单例模式最基本的实现方式 package com.fuck.singleton; public class Singleton { pri ...
- java多态讲解例子_Java多态性定义与用法实例详解
本文实例讲述了Java多态性定义与用法.分享给大家供大家参考,具体如下: 多态性是通过: 1 接口和实现接口并覆盖接口中同一方法的几不同的类体现的 2 父类和继承父类并覆盖父类中同一方法的几个不同子类 ...
- python类是实例的工厂_Python设计模式之工厂方法模式实例详解
本文实例讲述了Python设计模式之工厂方法模式.分享给大家供大家参考,具体如下: 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类, ...
- java显示参数,Java中的隐式参数和显示参数实例详解
在学习java的过程中,我们会遇到许多的问题.下面我们就来看看什么是隐式参数和显示参数. 显式参数,就是平时见到的在方法名括号中间的参数,就是所谓能看得见的参数www.cppcns.com. 隐式参数 ...
- java 静态 编译_Java中的动态和静态编译实例详解
Java中的动态和静态编译实例详解 首先,我们来说说动态和静态编译的问题. Q: java和javascript有什么区别? 总结了一下:有以下几点吧: 1.首先从运行环境来说java代码是在JVM上 ...
- mongodb java查询_java操作mongoDB查询的实例详解
java操作mongo查询的实例详解 前言: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库 ...
最新文章
- 2018.1.15 6周1次课
- matconvnet中使用fastrcnn遇到的问题
- docker之Dockerfile指令介绍
- java string contains indexof,java.lang.String.contains()方法实例
- DOS批处理高级教程
- Android ADB 环境变量配置
- 安川机器人外部急停信号点不开_安川机器人示教器常见故障维修方法
- 谷歌浏览器元素定位神器 -- chropath插件
- 扫雷小游戏(两小时完成)
- 上海车展:17.88万圆百万跑车梦,哪吒GT开启跑车新纪元
- java 数组怎么求和,感动,我终于学会了Java对数组求和
- 无盘疑难杂症的处理和网络的设置(转)
- python 删除pdf页面_Python脚本使用pyPDF删除空白页面
- wpe解密系列001
- matlab中size()函数的用法
- Vue - 本地上传 Excel 文件页面表格预览(配合 ElementUI / 带分页)
- python系统字体_Python-matplotlib-中文字体显示和设置
- Java简单实现单摆模拟
- 微软即将关闭基本身份验证,对企业与员工有什么影响?
- 【企业安全实战】数据库审计部署实践