标签:
public class LOL { /* * 懒汉式 */ private String name; //private static LOL lol = null; private static LOL lol = new LOL(); private LOL(){ } /*public synchronized static LOL getLol(String argName){ if(lol == null){ lol = new LOL(argName); } return lol; }*/ /* * 饿汉式 */ public static LOL getLol(String name){ lol.setName(name); return lol; } public void setName(String name){ this.name = name; } public String getName(){ return this.name; } }
今天初次接触单例设计模式:该类对象在系统中最多只能产生一个。
通过生活中的观察,好像LOL就是单例的,所以就写个LOL纯粹为了好玩。
有懒汉式和饿汉式两种,其中懒汉式是在通过调用getLol方法时在生成对象,比较懒。
饿汉式是在编译过程中的时候就初始化完成了,比较积极(饥渴)
下面的测试的案例
public class TestLOL { /** * @param args */ public static void main(String[] args) { LOL s = LOL.getLol("东少K"); System.out.println(s.getName()); LOL k = LOL.getLol("东少咔"); System.out.println(k.getName()); System.out.println(s == k); s.setName(""); } }
打印的结果:
然后就是main方法:
为什么要写main方法?我们都知道,main方法是程序的入口,这个方法是给JVM调用的,想到这里,自然就可以解释为什么要用public static 修饰了
因为在JVM调用main方法的时候,由于JAVA的语法规定public的使用范围最广(如果设置为private或其他的,JVM要调用
main就违背语法了),什么也没有(没有实例),JVM只能通过类名+成员名访问,这样才方便调用main方法。
之后就是(String[] args)这个基本上用不到,可以通过运行时 java 类名 args 给args赋值。
标签:
原文地址:http://www.cnblogs.com/hnzyyTl/p/4883600.html