【扑克类】多例模式的概念和作用
多例模式的概念和作用
多例模式:指在程序运行期间,某个类只需固定几个实例,不能多,也不能少。这时就需要将这个类设计为:多例模式。 2.例如: 扑克程序:程序中会定义:扑克类。但程序运行,固定需要54个扑克对象,这时这个“扑克类”就需要设计为“多例模式” 一个程序:需要用到“红、绿、蓝”三个颜色,我们可以定义颜色类,但我们只需要三个对象,所以这时就可以将“颜色类”设计为“多例模式”。
(资料图片)
多例模式的实现方式—获取通用对象
不能指定获取某个对象
public class Student {//1.构造方法私有化 private Student(){} //2.提供一个集合,集合中存储本类对象 private static ListstuList = new ArrayList<>(); static {//初始化50个Student对象,存储到集合 for (int i = 0; i < 50; i++) {stuList.add(new Student()); } } //3.定义公有、静态方法,随机获取集合中的一个Student对象 public static synchronized Student getInstance(){Random random = new Random(); int i = random.nextInt(stuList.size()); return stuList.get(i); }}
public class Test01 {public static void main(String[] args) {Student stu1 = Student.getInstance(); Student stu2 = Student.getInstance(); }}
多例模式的实现方式—获取特定对象[重点]
构造方法私有化。创建public,static,final 本类对象引用
public class Student {private String name; public Student(String name, Sex sex) {this.name = name; this.sex = sex; } public String getName() {return name; } public void setName(String name) {this.name = name; } public Sex getSex() {return sex; } public void setSex(Sex sex) {this.sex = sex; } private Sex sex; @Override public String toString() {return "Student{" + "name="" + name + "\"" + ", sex=" + sex + "}"; }}//多例模式的Sex类class Sex{//1.构造方法私有化 private Sex(String sex) {this.sex = sex; } private String sex; //2.提供两个公有、静态、final的本类对象引用 public static final Sex MAN = new Sex("男"); public static final Sex WOMEN = new Sex("女"); @Override public String toString() {return sex; }}
多例模式实现小结 --获取特定对象实现小结
自定义类(Sex),将构造方法私有化,定义几个公有、静态、final的本类对象的引用。定义测试多例类的类(Student类):使用了自定义类(Sex)定义测试类,编写main()方法
标签:
相关推荐:
最新新闻:
- 电脑闹铃怎么设置?如何用电脑设置好闹钟?
- Touch HD全面剖析 直板手机大势所趋
- mysql使用EXPIN脚本的执行效率 PHP综合应用介绍
- 怎么设置电脑自动开关机?设置自动开关机的具体步骤
- mysql出现无效连接属性异常如何处理?_世界快播报
- 提示ijl15.dll文件丢失或损坏怎么办?ijl15.dll文件丢失原因分析及解决方法
- linux arp 防火墙关闭 如何关闭360安全卫士的ARP防火墙?
- 如何卸载冰点还原精灵?怎么才能把他彻底删除?
- formatconverters.exe是什么软件?使用说明及注意事项
- 解锁bootloader是什么意思?解锁bootloader会清除数据吗?
- 【源代码】java.util.Vector容器源代码详解
- 领域驱动设计——Domain-drivenDesign:全球快消息
- PDG文件是什么格式?PDG文件打开方法
- javascript中的时间日期 Oracle的连接符 环球热资讯
- trustedinstaller.exe是什么意思?如何解决其CPU占用率问题?
- IE浏览器打不开卡死崩溃了该怎么修复?有什么修复方法?
- beacon时槽什么意思?beacon时槽越大越好吗?
- wifi发射器怎么用?介绍WiFi发射器的用法步骤
- 天天最新:xlive.dll丢失怎么解决?xlive.dll没有被指定在windows运行怎么解决?
- 主板上都有哪些接口?主板上各接口都有什么用?
- rar密码有什么破解方法?解密文件有什么方法?
- 什么是百度权重?百度权重详解及影响因素
- 打印机和复印机的辐射量有多大?打印机和复印机的辐射量
- iphone表情符号如何添加?iphone表情符号添加方法 -速看
- 腾龙镜头多少钱?腾龙镜头型号及报价大全
- 【全球播资讯】门店客流量如何统计?门店客流分析的重要性
- 回顾腾讯QQ的成长发展史(1998-2016年)-环球热门
- 最新资讯:张一鸣:华为人才基因的真正密码
- 世界快资讯丨“橡皮擦”用英语该怎么说?橡皮擦的英文说法
- Arduinomega2560控制42步进电机接线图
- 全球即时看!乐视手机怎么样?乐视手机好用吗?
- win10关闭自动更新后怎么更新?win10关闭自动更新后更新方法|全球新动态
- 全球速递!tcl液晶监视器你了解多少?tcl液晶监视器的价格
- uushare书签:用于收藏网址的一种工具_世界焦点
- 扫雷和空当接龙freecell:算法深度优先_视点
- 环球热门:激光器结构原理是什么?激光器结构原理介绍
- 索尼投影机价格怎么样?sony投影机功能如何?
- 自助建站到底是什么?如何免费生成一个网站?
- 【反汇编】ce附加红警3找钱的进程:环球速递
- 快讯:索尼psp游戏机多少钱?索尼psp报价及相关介绍
- 【扑克类】多例模式的概念和作用
- pH、水温、溶解氧的指标图 pH值偏高有什么危害吗?-环球快播报
- 三星c3500怎么样?三星c3500最新报价
- 网卡是什么?网卡有什么功能?
- 最新消息:广东2019年3月全国计算机二级考试报名时间及流程
- 硕美科g927怎么样?硕美科g927好不好?
- 一台空调一小时用多少电?空调耗电如何计算?|快报
- rayfile网盘功能介绍 rayfile网盘安装步骤及安装注意事项
- 【天天报资讯】暗黑3怎么购买?暗黑3国服购买指南
- 【技术】硬盘存储器的层次结构及原理
- 最低配置是什么意思?赛博朋克2077配置要求2022
- RMSE、MAE、MSE 如何衡量模型效果好坏?-全球看热讯
- 如何让视障用户更好使用你的网站?10条网站易用性技巧
- 最新资讯:张一鸣:华为人才基因的真正密码
- 【技术】硬盘存储器的层次结构及原理
- 【反汇编】ce附加红警3找钱的进程:环球速递
- 马冬晗学习计划表 清华学霸计划表曝光-精选
- 供应商的选择、评审和动态管理的方法 焦点快播
- 环球快讯:《霹雳五号》:一个机器人的自我意识
- mcafee修复所有漏洞 没有让客户暴露在风险之中
- rar密码有什么破解方法?解密文件有什么方法?
- 每日动态!厨房管理游戏《末日等待》Steam页面上线 支持简中
- 网飞推出AI视频短片《犬与少年》 实验性作品
- 【天天时快讯】《艾尔登法环》Steam页面后台更新 或是将有新内容发布
- 正荣地产:1月合约销售金额约为13.56亿元|世界看热讯
- rayfile网盘功能介绍 rayfile网盘安装步骤及安装注意事项
- 硬盘整数分区怎么计算?NTFS整数分区数值表分享
- bin文件夹是什么?bin文件删了有什么影响?
- Bodypaint 3D怎么用?Bodypaint 3D安装使用方法
- DLL是什么?winmm.dll丢失怎么解决?
- 硬盘温度多少度才算正常?硬盘温度过高怎么办呢?
- 积分电路是什么?积分电路的原理和作用
- XPS Viewer是什么软件?XPS Viewer的使用方法
- 小米13 Ultra曝光:2K E6曲面屏+1英寸超大底+120倍长焦-每日热议
- 天天资讯:《星球大战绝地:幸存者》9分钟实机:双持光剑砍瓜切菜