1.单例

  1. package com.yfs.javase;
  2.  
  3. public class Singleton {
  4.  
  5. //private static final Singleton single = new Singleton();//定义自己的对象引用
  6. private static Singleton single;
  7. // 控制构造方法
  8. private Singleton() {
  9.  
  10. }
  11.  
  12. // 提供获取对象的方法
  13. public static Singleton getInstance() {
  14. if(single == null) {
  15. System.out.println("创建Singleton对象....");
  16. single = new Singleton();
  17. }
  18. return single;
  19. }
  20.  
  21. public void sayHello() {
  22. System.out.println("Hello....");
  23. }
  24.  
  25. }

2.单例测试

  1. package com.yfs.javase;
  2.  
  3. public class SingleTest {
  4.  
  5. public static void main(String[] args) {
  6. // Singleton s1 = new Singleton();
  7. // s1.sayHello();
  8. //
  9. // Singleton s2 = new Singleton();
  10. // s2.sayHello();
  11. //
  12. // final int a = 10;
  13.  
  14. //a = 20;
  15.  
  16. // System.out.println("s1 == s2 : " + (s1 == s2));
  17. Singleton s1 = Singleton.getInstance();
  18.  
  19. Singleton s2 = Singleton.getInstance();
  20.  
  21. s1.sayHello();
  22. s2.sayHello();
  23.  
  24. System.out.println("s1 == s2 : " + (s1 == s2));
  25.  
  26. }
  27.  
  28. }

3.开关灯示例

  1. package com.yfs.javase;
  2.  
  3. public class Light {
  4. // 属性编号 状态
  5. private int index;
  6. private boolean lighting = true;
  7.  
  8. // 构造方法
  9. public Light(int index) {
  10. this.index = index;
  11. setIndex(index);
  12. }
  13.  
  14. // 查看状态方法
  15. public boolean isLighting() {
  16. return lighting;
  17. }
  18.  
  19. // 获取灯的编号
  20. public int getIndex() {
  21. return index;
  22. }
  23.  
  24. // 根据编号设置灯的状态
  25. private void setIndex(int index) {
  26.  
  27. for (int i = 1; i < index; i++) {
  28. if (index % i == 0) {
  29. // if (lighting) {//== true
  30. // lighting = false;
  31. // } else {
  32. // lighting = true;
  33. // }
  34. // lighting = lighting ? false : true;
  35.  
  36. lighting = !lighting;
  37. }
  38. }
  39. }
  40. }

4.灯测试

  1. package com.yfs.javase;
  2.  
  3. public class LightTest {
  4.  
  5. public static void main(String[] args) {
  6. //灯数组
  7. Light[] lights = new Light[100];
  8.  
  9. //创建对象
  10. for (int i = 0; i < lights.length; i++) {
  11. lights[i] = new Light(i + 1);
  12. }
  13.  
  14. //查看灯的状态
  15. for (int i = 0; i < lights.length; i++) {
  16. //灯类必须查看状态方法
  17. if(lights[i].isLighting()){
  18. System.out.println("第 " + lights[i].getIndex() + " 灯是亮的");
  19. }
  20.  
  21. }
  22.  
  23. }
  24.  
  25. }

5.乘法表

  1. package com.yfs.javase;
  2.  
  3. public class Demo {
  4.  
  5. private Demo() {
  6.  
  7. }
  8.  
  9. public static Demo get() {
  10. return new Demo();
  11. }
  12.  
  13. public static void main(String[] args) {
  14. for (int i = 1,j = 1; i < 10; ) {
  15. System.out.print(j + " * " + i + " = " + (i * j) + " ");
  16. j++;//让列增长
  17. if(j == i + 1) {
  18. j = 1;
  19. System.out.println();
  20. i++;//行增长
  21. }
  22.  
  23. }
  24. }
  25. }

java新手笔记12 单例的更多相关文章

  1. Java学习笔记之---单例模型

    Java学习笔记之---单例模型 单例模型分为:饿汉式,懒汉式 (一)要点 1.某个类只能有一个实例 2.必须自行创建实例 3.必须自行向整个系统提供这个实例 (二)实现 1.只提供私有的构造方法 2 ...

  2. JAVA自学笔记12

    JAVA自学笔记12 1.Scanner 1)JDK5后用于获取用户的键盘输入 2)构造方法:public Scanner(InputStream source) 3)System.in 标准的输入流 ...

  3. java中安全的单例与不安全的单例

    java中安全的单例与不安全的单例 1.内部静态类(安全的) public class Singleton { private static class SingletonHolder{ privat ...

  4. java新手笔记11 类的静态属性、方法(单例)

    1.Person类 package com.yfs.javase; public class Person { String name;//每个对象上分配 与对象绑定 int age; char se ...

  5. Java笔记(十一)……单例设计模式

    设计模式 解决某一类问题最行之有效的方法 Java中有23中设计模式 单例设计模式 解决一个类在内存中只存在一个对象 思路 将构造函数私有化 在类中创建一个本类对象 提供一个方法可以获取到对象 两种方 ...

  6. Effective java 第2版 - 笔记(01) 单例(Singleton)的枚举(enum)实现

    直接上代码: public enum Boss { INSTANCE; private String name; public void doSomeThing() { System.out.prin ...

  7. JAVA的设计模式之单例设计模式

    1.确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例. 1)理论 Java Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在. 使用Singl ...

  8. Java公开课-06.单例

    一. 什么是单例模式 因程序需要,有时我们只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计. 二. 单例模式的特点 1. 单例模式只能有一个实例. 2. 单例类必须创建 ...

  9. java基础学习之单例设计模式学习

    最近狂补java基础的我重新学习了下单例,下面直接贴出代码,以作备忘 package com.darling.single; /** * 单例模式 * 单例即在内存中只存在该类的一个实例,要想实现这个 ...

随机推荐

  1. 如何使用C#和VB发送和接收MSMQ消息

    在这篇博客中,我们将就如何实现System.Messaging类发送和接收的XML消息发送从MSMQ队列,你可能会遇到接收的XML消息的一些问题. 我们将首先加入参考System.Messaging ...

  2. scala学习笔记(四)样本类与模式匹配

    访问修饰符 格式:private[x]或protected[x],x指某个所属包.类或单例对象,表示被修饰的类(或方法.单例对象),在X域中公开,在x域范围内都可以访问: private[包名]:在该 ...

  3. spring 的配置 bean>>property>>name属性

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  4. go语言与所谓的包

    import后面接的是目录的名字,而不是所谓包的名字,并且如果一个目录下面还有目录的话都必须要写进去,比如: import "MyPackage" import "MyP ...

  5. JavaScript高级程序设计—阅读笔记(第一部分)

    第一章 JavaScript简介1.JavaScript组成(核心(ECMAScript),文档对象模型(DOM),浏览器对象模型(BOM))2.文档对象模型(DOM),提供访问和操作网页内容的方法和 ...

  6. 【Android - 进阶】之事件分发机制

    参考资料: View事件分发:http://blog.csdn.net/pi9nc/article/details/9281829 ViewGroup事件分发:http://blog.csdn.net ...

  7. EasyUI实例源码

    jQuery+EasyUI实例源码 http://www.51aspx.com/code/jQueryEasyUIExample ASP.NET MVC+EF+EasyUI权限 http://www. ...

  8. Log4E

    工具地址:http://marketplace.eclipse.org/content/log4e Log4E插件能够帮助你在Java项目中轻松地创建记录器.它可以在以下几个任务中提供帮助:记录器声明 ...

  9. ZooKeeper场景实践:(6)集群监控和Master选举

    1. 集群机器监控 这通经常使用于那种对集群中机器状态,机器在线率有较高要求的场景,可以高速对集群中机器变化作出响应.这种场景中,往往有一个监控系统,实时检測集群机器是否存活. 利用ZooKeeper ...

  10. [置顶] [VS2010]逸雨清风 永久稳定音乐外链生成软件V0.1

    音乐外链说明:现在的很多网站都有用到外链,特别是音乐外链,在博客.空间里设作背景音乐.网上也有很多上传外链的网站,不过都不稳定而且有容量限制,而且似乎所有网站其实都是用的同一个源码组件,都是链接到Ra ...