设计模式:解决某一类问题行知最有效的方法。java有23种设计模式

单列设计模式:

解决一个类在内存中只存在一个对象

思路:(要保证对象的唯一性)

1.为了避免其它程序建立该对象,先禁止替他类创建改对象,(构造函数私有化)

2.还能让其他程序可以访问到该对象,只能在该类中自己生成一个对象

3.为了其他程序可以访问到当中的值,可以设计一些方法获取到值。

 

当然他们当中有两种方式:懒汉式,饿汉式。

(其中两者的区别是在内存当中的何时创建)

下面是饿汉式的代码:(写法)(开发一般用这个方法)

//创建一个学生类的单列设计模式
class Student
{
private String name="zhulang";
//构造函数私有化
private Student(){};
//静态自己创建自己的对象
private static Student s =new Student(); //静态方法获取到该对象
public static String getInstance()
{
return s.name;
}

 

懒汉式:(面试时一般用这个)

原理,对象是在方法被调用时,才初始化,也叫做对象的延时加载

如下:只有Student类进内存。但是对象没有存在,只getInstance方法是才被创建

class Student
{
private String name = "zhulang"; // 构造函数私有化
private Student()
{
}; // 静态自己创建自己的对象
private static Student s = null; // 静态方法获取到该对象
public static String getInstance()
{
//对象是否被其他程序调用
if (s == null)
{
//上锁
synchronized (Student.class)
{
if (s == null)
s = new Student();
}
}
return s.name;
} }

Java设计模式--单列设计模式的更多相关文章

  1. Java基础-单列设计模式

    概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例.饿汉式单例.登记式单例. 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己创建 ...

  2. 黑马程序员——JAVA基础之单列设计模式

    ------- android培训.java培训.期待与您交流! ---------- 单列设计模式是面试中的一个常考的点,所谓单例模式就是说对象在内存中只能存在一个.如果有其他变量是该类对象,那么他 ...

  3. java设计模式--单列模式

    java设计模式--单列模式 单列模式定义:确保一个类只有一个实例,并提供一个全局访问点. 下面是几种实现单列模式的Demo,每个Demo都有自己的优缺点: Demo1: /** * 单列模式需要满足 ...

  4. java单列设计模式 小记

    单例设计模式-------懒汉式,饿汉式 单例设计模式是一种很常见的设计模式 在这里介绍两种单例设计模式 懒汉式与饿汉式 一.先说一说单例设计模式的特点: >>1.单例设计模式保证一个类只 ...

  5. Java中单态设计模式

    Java中单态设计模式 2011-09-23 16:38:46|  分类: Java |  标签:technology!  |举报|字号 订阅     此博文是转自新浪博客中一名叫做"俊俊的 ...

  6. Java进阶篇 设计模式之十四 ----- 总结篇

    前言 本篇是讲述之前学习设计模式的一个总结篇,其目的是为了对这些设计模式的进行一个提炼总结,能够通过查看看此篇就可以理解一些设计模式的核心思想. 设计模式简介 什么是设计模式 设计模式是一套被反复使用 ...

  7. Java进阶篇设计模式之一 ----- 单例模式

    前言 在刚学编程没多久就听说过设计模式的大名,不过由于当时还是个彻彻底底的菜鸟,并没有去触碰.直到在开始工作中对简单的业务代码较为熟悉之后,才正式的接触设计模式.当时最早接触的设计模式是工厂模式,不过 ...

  8. 【转】java io 流 设计模式

    知识点:什么是装饰模式: http://wenku.baidu.com/view/ad4eac9f51e79b896802263b.html(原理讲的很清楚) http://wenku.baidu.c ...

  9. java 23种设计模式,一般情况下,常用的有哪些? 转载

    原址:http://wangle.iteye.com/blog/196972 工厂模式, 工厂方法模式,单例模式, 外观(Facade)模式, 观察者(Observer)模式,桥接(Bridge)模式 ...

随机推荐

  1. input hidden用法

    之前获取数据传数据,都是写在全局变量里,今天老板告诉我说用input hidden来存,我百度了一下,确实是个好方法,记录之: 1 隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或 ...

  2. [NOIP2005]采药

    2005年NOIP全国联赛普及组 [题目描述 Description] 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个 ...

  3. linux查看服务器型号

    dmidecode | grep "Product";  

  4. Spark-Java版本WordCount示例

    首先创建Spark的Maven工程,我这里使用的是Eclipse. 1.编写WordCountApp代码 package com.mengyao.spark.java.core; import jav ...

  5. Yii框架常见问题汇总

    然用过Yii做了一个小项目了,但是过程中间解决的问题没有随手记下来,导致新项目开始后,以前碰到的问题还得在查一遍,干脆就记下来,以便不时之需. 有新的会随时更新. 1.如何显示ActiveRecord ...

  6. javascript如何监听页面刷新和页面关闭事件

    本文转之http://www.qqtimezone.top 在我们的日常生活中,时常遇到这么一种情况,当我们在点击一个链接.关闭页面.表单提交时等情况,会提示我们是否确认该操作等信息. 这里就给大家讲 ...

  7. CSS选择器详解(伪类) 转 http://blog.csdn.net/Panda_m/article/details/50084699

    CSS选择器详解 之 伪类 伪类对大小写不敏感 结构伪类选择器 结构伪类是CSS3新增的类型选择器,利用DOM树实现元素过滤,通过文档结构的相互关系来匹配元素,可以减少class和id属性的定义,使文 ...

  8. UserControl调用Umbraco的Data Types

    本篇文章介绍的是基于Umbraco CMS技术搭建的网站所使用的相关技术. 1.  需求: 网站前台功能有个表单提交,表单控件用到下拉列表(dropdownlist),需求是在dropdownlist ...

  9. 显示、隐藏 PowerShell

    以下是一个快速实现该需求的 module.只要将以下代码复制粘贴到 Documents\WindowsPowerShell\Packages\PowerShell\PowerShell.psm1 即可 ...

  10. trace 日志

    关闭 ORACLE trace 日志功能  alter system set trace_enabled=false  select * from v$parameter where NAME lik ...