方法一、

对象唯一性一般能想到工厂模式,单例模式,我们这里介绍一下举例懒汉法。

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中如何使某个类的对象唯一性,只能创建一个对象相关推荐

  1. Java中通过代理对类进行修改

    JAVA中的静态代理.动态代理及JDK proxy和CGLIB.Javassist.ASM实践 简介 Java中对已经有的类进行修改,改变或调整其执行,这可以通过代理来实现.Java的class文件是 ...

  2. Java面向对象编程篇1——类与对象

    Java面向对象编程篇1--类与对象 1.面向过程 1.1.概念 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了 1.2.优缺点 优点:性 ...

  3. Java中使用JCOM操作Word/Excel对象

    通过使用COM技术,我们用微软Office应用程序能够建立很多应用程序扩展,但是Java开发人员却无法享受它带来的便利--除非他们拥有方便的Java访问COM的途径(Java-to-COM桥).使用J ...

  4. 《Java并发编程的艺术》——Java中的并发工具类、线程池、Execute框架(笔记)

    文章目录 八.Java中的并发工具类 8.1 等待多线程完成的CountDownLatch 8.2 同步屏障CyclicBarrier 8.2.1 CyclicBarrier简介 8.2.2 Cycl ...

  5. Java中Date和Calender类的使用方法

    查看文章     Java中Date和Calender类的使用方法 2009-10-04 20:49 Date和Calendar是Java类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着 ...

  6. Java技术笔记1:类与对象实例之系统常用类

    待我君临天下,结发与蕊可好.@夏瑾墨 一直在反思最近的时间安排,知识没有总结和积累很容易发生遗忘,如果要让自己在短期内能有大的提升,那就需要每天的知识流输入,减去你生活中看起来也是重要的东西,然而性命 ...

  7. 《Java并发编程的艺术》读后笔记-Java中的并发工具类(第八章)

    文章目录 <Java并发编程的艺术>读后笔记-Java中的并发工具类(第八章) 1.等待多线程完成的CountDownLatch 2.同步屏障CyclicBarrier 2.1 Cycli ...

  8. JAVA基础--java简单知识04(类与对象,封装,继承,多态)

    类与对象 在学习Java中,最重要的就是面对对象,面对对象三大特性:封装,继承,多态 什么是面对对象? 面对对象,就是你在进行开发时,把所有能够认知到的事物看做对象,去描述它的行为和特征. 什么是类和 ...

  9. 【Java学习日记】#11 类与对象 #3 对象

    对象 对象的特性 对象的创建 对象的引用 对象的使用 对象的销毁 对象的特性 对象的创建 使用new操作符调用构造方法就可以创建一个对象. 创建一个Test类对象: Test test1 = new ...

  10. 【JAVA系列】Java中的包、类的继承、多态、抽象类与接口

    文章目录 前言 一.包及访问权限 1.什么是包? 2.如何导入包? 3.JDK中常见的包 4.包的访问控制权限 二.继承 1.继承的基本概念 2.继承时方法调用顺序 3.super和this关键字 4 ...

最新文章

  1. android运动轨迹怎么画,Android 利用三阶贝塞尔曲线绘制运动轨迹的示例
  2. git 分支合并_批量删除GIT已合并到master的分支
  3. 三级嵌入式 汇编指令汇总
  4. hadoop-hdfs-存储模型-架构模型-角色介绍
  5. 【git系列】简单入门git命令一
  6. SQL Server: create table sql script
  7. jsp 如何动态给图片赋值_在Excel表格中你知道如何动态引用图片吗?
  8. wow修改人物模型_抖音爆款心法:一个模型+五组案例
  9. macbook pro开机键盘键盘和触摸板没反应问题
  10. iZotope RX 9 for Mac(受损音频修复工具)
  11. Pix4D生成正射影像和DSM详细教程(可下载)
  12. 克拉夫斯曼高端定制 刘霞---【YBC中国国际青年创业计划】
  13. 关于Adams仿真过程中问题的解决记录
  14. idea+phpstudy完成php对数据库的操作
  15. 小趴趴--知乎精华回答的非专业大数据统计
  16. python统计英文文本词频和提取文本关键词
  17. android swstnw cn,Android应用开发之ubuntu14.04编译ijkplayer备忘
  18. 从零开始学习菜鸟晋级黑客之黑客之“名词介绍”
  19. 英语流利说l4u1p2_L4-U1-P2-4 Vocabulary:Geometry 英语流利说 懂你英语
  20. THUWC2017 在美妙的数学王国中畅游

热门文章

  1. Spring Cloud 与 Dubbo 对比整理(2)
  2. 强人工智能:抑制神经元的意义
  3. SQL Server2005如何进行数据库定期备份
  4. VB C# 语法对比图 (代码实例)
  5. 蓝桥杯 错误票据——2013年省赛C/C++ A组
  6. dict( )、zip( )函数——python小练
  7. CH14 Android中的多媒体
  8. Facebook KeyHash生成方法
  9. 域名虚拟主机管理系统linux,8 款顶级的虚拟主机管理系统
  10. avue 文字点击 弹窗_目前最好用的文字转语音、视频配音方法,一键合成,智能黑科技...