1.单例

package com.yfs.javase;

public class Singleton {

	//private static final Singleton single = new Singleton();//定义自己的对象引用
private static Singleton single;
// 控制构造方法
private Singleton() { } // 提供获取对象的方法
public static Singleton getInstance() {
if(single == null) {
System.out.println("创建Singleton对象....");
single = new Singleton();
}
return single;
} public void sayHello() {
System.out.println("Hello....");
} }

2.单例测试

package com.yfs.javase;

public class SingleTest {

	public static void main(String[] args) {
// Singleton s1 = new Singleton();
// s1.sayHello();
//
// Singleton s2 = new Singleton();
// s2.sayHello();
//
// final int a = 10; //a = 20; // System.out.println("s1 == s2 : " + (s1 == s2));
Singleton s1 = Singleton.getInstance(); Singleton s2 = Singleton.getInstance(); s1.sayHello();
s2.sayHello(); System.out.println("s1 == s2 : " + (s1 == s2)); } }

3.开关灯示例

package com.yfs.javase;

public class Light {
// 属性编号 状态
private int index;
private boolean lighting = true; // 构造方法
public Light(int index) {
this.index = index;
setIndex(index);
} // 查看状态方法
public boolean isLighting() {
return lighting;
} // 获取灯的编号
public int getIndex() {
return index;
} // 根据编号设置灯的状态
private void setIndex(int index) { for (int i = 1; i < index; i++) {
if (index % i == 0) {
// if (lighting) {//== true
// lighting = false;
// } else {
// lighting = true;
// }
// lighting = lighting ? false : true; lighting = !lighting;
}
}
}
}

4.灯测试

package com.yfs.javase;

public class LightTest {

	public static void main(String[] args) {
//灯数组
Light[] lights = new Light[100]; //创建对象
for (int i = 0; i < lights.length; i++) {
lights[i] = new Light(i + 1);
} //查看灯的状态
for (int i = 0; i < lights.length; i++) {
//灯类必须查看状态方法
if(lights[i].isLighting()){
System.out.println("第 " + lights[i].getIndex() + " 灯是亮的");
} } } }

5.乘法表

package com.yfs.javase;

public class Demo {

	private Demo() {

	}

	public static Demo get() {
return new Demo();
} public static void main(String[] args) {
for (int i = 1,j = 1; i < 10; ) {
System.out.print(j + " * " + i + " = " + (i * j) + " ");
j++;//让列增长
if(j == i + 1) {
j = 1;
System.out.println();
i++;//行增长
} }
}
}

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. NOIP2015 提高组(senior) 解题报告

    过了这么久才来发解题报告,蒟蒻实在惭愧 /w\ Day1 T1 [思路] 模拟 [代码] #include<iostream> #include<cstring> #inclu ...

  2. Spring笔记(四)SpingAOP

    需要的Jar包(String3.2) com.springsource.net.sf.cglib-2.2.0.jar // 作用于cglib方式的动态代理 com.springsource.org.a ...

  3. HDOJ-ACM1013(JAVA)

    这道题也很简单~主要是将输入转为字符串(存储大数,操作字符数组) 题意: 24 : 2 + 4 = 6  输出6 39 : 3 + 9 = 12 , 1 + 2 = 3 输出3 999: 9 + 9 ...

  4. php tcp socket 学习汇总

    推荐实例:PHP socket 深入浅出讲解:php的socket通信 基于socket.io的实时消息推送 php socket通信(tcp/udp) PHP向socket服务器收发数据 php实现 ...

  5. 问题-Delphi在多线程中使用其他窗体上的控件,报“尚未调用CoInitialize”解决方法

    1.uses ActiveX; 2. procedure HLCJ.Execute;begin    CoInitialize(nil);    //要使用的控件    CoUninitialize; ...

  6. 如何查看tomcat是32位还是64位

    原文地址:http://www.cnblogs.com/andysd/p/3940976.html

  7. 使用cxf写web service的简单实例

    增加CXF依赖 <dependency> <groupId>org.apache.cxf</groupId> <artifactId>apache-cx ...

  8. Android_消息机制

    Android通过Looper.Handler来实现消息循环机制. Android的消息循环是针对线程的,每个线程都可以有自己的消息队列和消息循环. Android系统中的Looper负责管理线程的消 ...

  9. ASP.NET用HttpListener实现文件断点续传

    本文转载:http://www.cnblogs.com/TianFang/archive/2007/01/03/610739.html 断点续传的原理很简单,就是在Http的请求和应答的报文头上和一般 ...

  10. MVC - HtmlHelper类

    传统的Html元素不能和服务端数据进行绑定 HtmlHelper类提供了一系列的方法来生成Html元素 并可以实现与数据绑定在一起 然后生成Html Html.BeginForm(actionName ...