java几种常用设计模式简单示例 =.docx
《java几种常用设计模式简单示例 =.docx》由会员分享,可在线阅读,更多相关《java几种常用设计模式简单示例 =.docx(34页珍藏版)》请在三一办公上搜索。
1、java几种常用设计模式简单示例 =java几种常用设计模式简单示例 设计模式Java 1.单例设计模式 所谓单例设计模式简单说就是无论程序如何运行,采用单例设计模式的类永远只会有一个实例化对象产生。具体实现步骤如下: (1) 将采用单例设计模式的类的构造方法私有化。 (2) 在其内部产生该类的实例化对象,并将其封装成private static类型。 (3) 定义一个静态方法返回该类的实例。 示例代码如下: Java代码 class Singleton private static Singleton instance = new Singleton;/ 在内部产生本类的实例化对象 publ
2、ic static Singleton getInstance / 通过静态方法返回instance对象 return instance; private Singleton / 将构造方法封装为私有化 public void print System.out.println(Hello World!); public class SingletonDemo public static void main(String args) Singleton s1 = null; / 声明对象 Singleton s2 = null; / 声明对象 Singleton s3 = null; / 声明对
3、象 s1 = Singleton.getInstance; / 取得实例化对象 s2 = Singleton.getInstance; / 取得实例化对象 s3 = Singleton.getInstance; / 取得实例化对象 s1.print; / 调用方法 s2.print; / 调用方法 s3.print; / 调用方法 java view plaincopyprint? class Singleton private static Singleton instance = new Singleton;/ 在内部产生本类的实例化对象 public static Singleton g
4、etInstance / 通过静态方法返回instance对象 return instance; private Singleton / 将构造方法封装为私有化 public void print System.out.println(Hello World!); public class SingletonDemo public static void main(String args) Singleton s1 = null; / 声明对象 Singleton s2 = null; / 声明对象 Singleton s3 = null; / 声明对象 s1 = Singleton.getI
5、nstance; / 取得实例化对象 s2 = Singleton.getInstance; / 取得实例化对象 s3 = Singleton.getInstance; / 取得实例化对象 s1.print; / 调用方法 s2.print; / 调用方法 s3.print; / 调用方法 class Singleton private static Singleton instance = new Singleton;/ 在内部产生本类的实例化对象 public static Singleton getInstance / 通过静态方法返回instance对象 return instance
6、; private Singleton / 将构造方法封装为私有化 public void print System.out.println(Hello World!); public class SingletonDemo public static void main(String args) Singleton s1 = null; / 声明对象 Singleton s2 = null; / 声明对象 Singleton s3 = null; / 声明对象 s1 = Singleton.getInstance; / 取得实例化对象 s2 = Singleton.getInstance;
7、/ 取得实例化对象 s3 = Singleton.getInstance; / 取得实例化对象 s1.print; / 调用方法 s2.print; / 调用方法 s3.print; / 调用方法 一、单例模式的介绍 Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点 二、单例模式的实现 实现的方式有如下四种: Java代码 /* * * 单例模式的实现:饿汉式,线程安全 但效率比较低 */ public class SingletonTest private SingletonTest priva
8、te static final SingletonTest instance = new SingletonTest; public static SingletonTest getInstancei return instance; java view plaincopyprint? /* * * 单例模式的实现:饿汉式,线程安全 但效率比较低 */ public class SingletonTest private SingletonTest private static final SingletonTest instance = new SingletonTest; public s
9、tatic SingletonTest getInstancei return instance; /* * * 单例模式的实现:饿汉式,线程安全 但效率比较低 */ public class SingletonTest private SingletonTest private static final SingletonTest instance = new SingletonTest; public static SingletonTest getInstancei return instance; Java代码 /* * 单例模式的实现:饱汉式,非线程安全 * */ public cl
10、ass SingletonTest private SingletonTest private static SingletonTest instance; public static SingletonTest getInstance if (instance = null) instance = new SingletonTest; return instance; java view plaincopyprint? /* * 单例模式的实现:饱汉式,非线程安全 * */ public class SingletonTest private SingletonTest private st
11、atic SingletonTest instance; public static SingletonTest getInstance if (instance = null) instance = new SingletonTest; return instance; /* * 单例模式的实现:饱汉式,非线程安全 * */ public class SingletonTest private SingletonTest private static SingletonTest instance; public static SingletonTest getInstance if (ins
12、tance = null) instance = new SingletonTest; return instance; Java代码 /* * 线程安全,但是效率非常低 * author vanceinfo * */ public class SingletonTest private SingletonTest private static SingletonTest instance; public static synchronized SingletonTest getInstance if (instance = null) instance = new SingletonTest
13、; return instance; java view plaincopyprint? /* * 线程安全,但是效率非常低 * author vanceinfo * */ public class SingletonTest private SingletonTest private static SingletonTest instance; public static synchronized SingletonTest getInstance if (instance = null) instance = new SingletonTest; return instance; /* *
14、 线程安全,但是效率非常低 * author vanceinfo * */ public class SingletonTest private SingletonTest private static SingletonTest instance; public static synchronized SingletonTest getInstance if (instance = null) instance = new SingletonTest; return instance; Java代码 /* * 线程安全 并且效率高 * */ public class SingletonTes
15、t private static SingletonTest instance; private SingletonTest public static SingletonTest getIstance if (instance = null) synchronized (SingletonTest.class) if (instance = null) instance = new SingletonTest; return instance; 2.工厂设计模式 程序在接口和子类之间加入了一个过渡端,通过此过渡端可以动态取得实现了共同接口的子类实例化对象。 示例代码如下: Java代码 in
16、terface Animal / 定义一个动物的接口 public void say; / 说话方法 class Cat implements Animal / 定义子类Cat Override public void say / 覆写say方法 System.out.println(我是猫咪,喵呜!); class Dog implements Animal / 定义子类Dog Override public void say / 覆写say方法 System.out.println(我是小狗,汪汪!); class Factory / 定义工厂类 public static Animal
17、getInstance(String className) Animal a = null; / 定义接口对象 if (Cat.equals(className) / 判断是哪个子类的标记 a = new Cat; / 通过Cat子类实例化接口 if (Dog.equals(className) / 判断是哪个子类的标记 a = new Dog; / 通过Dog子类实例化接口 return a; public class FactoryDemo public static void main(String args) Animal a = null; / 定义接口对象 a = Factory.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java几种常用设计模式简单示例 java 常用 设计 模式 简单 示例
链接地址:https://www.31ppt.com/p-3159561.html