You are My Sunshine

代码小情诗《You are my sunshine》

/**
* 代码情诗:You are my sunshine
* <p/>
* 灵感来自英文歌曲《You are my sunshine》
* <p/>
* hujiawei 15/11/21
*/
public class YouAreMySunshine {

    //情诗主要内容
    public void poem() {
        //You are my sunshine my only sunshine
        I me = new I();
        You you = MySunshine.getSingleInstance();/*你是我的唯一的太阳*/

        //You make me happy when skies are gray
        if (Sky.isGray(you)) {
            you.makeMeHappy(me);/*当天空一片灰暗的时候你会逗我开心*/
        }

        //You'll never know dear how much I love you
        while (true) {
            you.neverKnow(Love.howMuch(me,you));/*你永远不知道我有多么得爱你*/
        }

        //Please don't take my sunshine away
        try {
            you.finalize();
        } catch (Throwable throwable) {
            you = MySunshine.getSingleInstance();/*当GC销毁你的时候我再造一个你*/
        }
    }

    //天空
    static class Sky {
        //天空是否是灰色的,由你是否开心决定 ↖(^ω^)↗
        static boolean isGray(You you) {
            return !you.happy();
        }
    }

    //我
    static class I {
        //我开心啦 ~\(≧▽≦)/~
        public void happy() {
        }
    }

    //你
    static class You {
        //你是否开心,希望你一直开心 (>^ω^<)
        public boolean happy() {
            return true;
        }

        //你能使我开心 ~\(≧▽≦)/~
        public void makeMeHappy(I me) {
            me.happy();
        }

        //你不知道我有多么爱你 (@﹏@)
        public void neverKnow(String howMuch) {
        }

        //"Garbage Collector (GC) 要 take you away" ~~o(>_<)o ~~
        @Override
        protected void finalize() throws Throwable {
            super.finalize();
        }
    }

    //我的太阳
    static class MySunshine extends You {
        //我的太阳我来"造" ↖(^ω^)↗
        private MySunshine() {
        }

        //"单例模式" (⊙o⊙)
        public static MySunshine getSingleInstance() {
            return MySunshineHolder.instance;
        }

        //"为了单例模式的多线程安全" (⊙o⊙)
        static class MySunshineHolder {
            private static MySunshine instance = new MySunshine();
        }
    }

    //爱
    static class Love{
        static final String INFINITE = "INFINITE";
        //我有多爱你,当然是无限爱啦 Y^o^Y
        public static String howMuch(I me, You you){
            return Love.INFINITE;
        }
    }

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏算法修养

HDU-1754 I Hate It(线段树)

阿里云-云翼计划礼上加礼#——买六个月送域名代金券! I Hate It Time Limit: 9000/3000 MS (Java/Others) M...

38640
来自专栏ml

HDUOJ---1754 I Hate It (线段树之单点更新查区间最大值)

I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K ...

32540
来自专栏腾讯位置服务

帝都魔都无处逃离?大数据带你寻找春日“有氧”生活

13420
来自专栏ml

HDUOJ-----2068RPG的错排

RPG的错排 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja...

30450
来自专栏小樱的经验随笔

UESTC 30 &&HDU 2544最短路【Floyd求解裸题】

最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/...

30730
来自专栏ThoughtWorks

TW洞见 | 成为好QA的5项黄金原则

你知道有什么会让你义无反顾去做,即使工作本身并没什么意思吗?你知道当所有的测试都失败,有人不停地问你到底哪出错了的时候,什么能让你内心仍然很坚强吗? 好吧,我...

374100
来自专栏编程

计算机专业基础书籍推荐

编辑:小虾米 夏沫 本文根据网上的参考资料以及自己的学习经验总结整理而成,旨在给大家做一个参考,希望大家在工作、学习中遇到相关的问题之后能从这些参考书中获得帮...

247100
来自专栏ml

HDUOJ---2546 饭卡

饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O...

35250
来自专栏ml

hdu 1598 find the most comfortable road(枚举+卡鲁斯卡尔最小生成树)

find the most comfortable road Time Limit: 1000/1000 MS (Java/Others)    Memory ...

30140
来自专栏Android先生

Dagger2神器入门

网上随便搜索一下Dragger2,一大堆文章铺天盖地而来,一上来就讲@Inject,@Module等注解是做什么的,解释一大堆,看完之后一脸懵逼。对于刚刚入门D...

11020

扫码关注云+社区

领取腾讯云代金券