• 学习笔记之单例设计模式(2015,10,15)


    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赋值。

  • 相关阅读:
    dp学习(六)
    dp学习(五)
    电子效应
    元素周期表
    铝、元素三角与焰色反应
    化学能与原电池:知识预习
    有机化学与生产生活
    乙烯和苯:知识预习
    有机物基础和甲烷:知识预习
    解析api的json
  • 原文地址:https://www.cnblogs.com/hnzyyTl/p/4883600.html
Copyright © 2020-2023  润新知