Java中如何使某个类的对象唯一性,只能创建一个对象
方法一、
对象唯一性一般能想到工厂模式,单例模式,我们这里介绍一下举例懒汉法。
package com.liuyanzhao;
class Student {private String name;public void setName(String name) {this.name = name;}public String getName() {return name;}private Student() {}private static Student s = new Student();public static Student getInstance() {return s;}
}
public class Test {public static void main(String[] args) {Student s1 = Student.getInstance();Student s2 = Student.getInstance();s1.setName("Tom");s2.setName("Jerry");System.out.println(s1.getName());//JerrySystem.out.println(s2.getName());//Jerry}
}
新建的两个对象s1,s2其实是一个对象
方法二、
通过计数器统计来创建对象
package com.liuyanzhao;
class Teacher {static int i=0;private String name;public void setName(String name) {this.name = name;}public String getName() {return name;}private Teacher() {}public static Teacher newTeacher() {Teacher.i++;if(Teacher.i>1){return null;}return new Teacher();}
}
public class Test1 {public static void main(String[] args) {Teacher t = Teacher.newTeacher();Teacher t1 = Teacher.newTeacher();t.setName("Tom");//t1.setName("Jerry");System.out.println(t.getName());//System.out.println(t1.getName());}
}
如上 只能创建一个对象,否则会报错。
本文地址:http://liuyanzhao.com/3328.html
转载请注明
Java中如何使某个类的对象唯一性,只能创建一个对象相关推荐
- Java中通过代理对类进行修改
JAVA中的静态代理.动态代理及JDK proxy和CGLIB.Javassist.ASM实践 简介 Java中对已经有的类进行修改,改变或调整其执行,这可以通过代理来实现.Java的class文件是 ...
- Java面向对象编程篇1——类与对象
Java面向对象编程篇1--类与对象 1.面向过程 1.1.概念 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了 1.2.优缺点 优点:性 ...
- Java中使用JCOM操作Word/Excel对象
通过使用COM技术,我们用微软Office应用程序能够建立很多应用程序扩展,但是Java开发人员却无法享受它带来的便利--除非他们拥有方便的Java访问COM的途径(Java-to-COM桥).使用J ...
- 《Java并发编程的艺术》——Java中的并发工具类、线程池、Execute框架(笔记)
文章目录 八.Java中的并发工具类 8.1 等待多线程完成的CountDownLatch 8.2 同步屏障CyclicBarrier 8.2.1 CyclicBarrier简介 8.2.2 Cycl ...
- Java中Date和Calender类的使用方法
查看文章 Java中Date和Calender类的使用方法 2009-10-04 20:49 Date和Calendar是Java类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着 ...
- Java技术笔记1:类与对象实例之系统常用类
待我君临天下,结发与蕊可好.@夏瑾墨 一直在反思最近的时间安排,知识没有总结和积累很容易发生遗忘,如果要让自己在短期内能有大的提升,那就需要每天的知识流输入,减去你生活中看起来也是重要的东西,然而性命 ...
- 《Java并发编程的艺术》读后笔记-Java中的并发工具类(第八章)
文章目录 <Java并发编程的艺术>读后笔记-Java中的并发工具类(第八章) 1.等待多线程完成的CountDownLatch 2.同步屏障CyclicBarrier 2.1 Cycli ...
- JAVA基础--java简单知识04(类与对象,封装,继承,多态)
类与对象 在学习Java中,最重要的就是面对对象,面对对象三大特性:封装,继承,多态 什么是面对对象? 面对对象,就是你在进行开发时,把所有能够认知到的事物看做对象,去描述它的行为和特征. 什么是类和 ...
- 【Java学习日记】#11 类与对象 #3 对象
对象 对象的特性 对象的创建 对象的引用 对象的使用 对象的销毁 对象的特性 对象的创建 使用new操作符调用构造方法就可以创建一个对象. 创建一个Test类对象: Test test1 = new ...
- 【JAVA系列】Java中的包、类的继承、多态、抽象类与接口
文章目录 前言 一.包及访问权限 1.什么是包? 2.如何导入包? 3.JDK中常见的包 4.包的访问控制权限 二.继承 1.继承的基本概念 2.继承时方法调用顺序 3.super和this关键字 4 ...
最新文章
- android运动轨迹怎么画,Android 利用三阶贝塞尔曲线绘制运动轨迹的示例
- git 分支合并_批量删除GIT已合并到master的分支
- 三级嵌入式 汇编指令汇总
- hadoop-hdfs-存储模型-架构模型-角色介绍
- 【git系列】简单入门git命令一
- SQL Server: create table sql script
- jsp 如何动态给图片赋值_在Excel表格中你知道如何动态引用图片吗?
- wow修改人物模型_抖音爆款心法:一个模型+五组案例
- macbook pro开机键盘键盘和触摸板没反应问题
- iZotope RX 9 for Mac(受损音频修复工具)
- Pix4D生成正射影像和DSM详细教程(可下载)
- 克拉夫斯曼高端定制 刘霞---【YBC中国国际青年创业计划】
- 关于Adams仿真过程中问题的解决记录
- idea+phpstudy完成php对数据库的操作
- 小趴趴--知乎精华回答的非专业大数据统计
- python统计英文文本词频和提取文本关键词
- android swstnw cn,Android应用开发之ubuntu14.04编译ijkplayer备忘
- 从零开始学习菜鸟晋级黑客之黑客之“名词介绍”
- 英语流利说l4u1p2_L4-U1-P2-4 Vocabulary:Geometry 英语流利说 懂你英语
- THUWC2017 在美妙的数学王国中畅游
热门文章
- Spring Cloud 与 Dubbo 对比整理(2)
- 强人工智能:抑制神经元的意义
- SQL Server2005如何进行数据库定期备份
- VB C# 语法对比图 (代码实例)
- 蓝桥杯 错误票据——2013年省赛C/C++ A组
- dict( )、zip( )函数——python小练
- CH14 Android中的多媒体
- Facebook KeyHash生成方法
- 域名虚拟主机管理系统linux,8 款顶级的虚拟主机管理系统
- avue 文字点击 弹窗_目前最好用的文字转语音、视频配音方法,一键合成,智能黑科技...