靜態類--返回“自身指針”--鏈式調用

前言:寫過很多靜態工具類,發現靜態類根本無法返回自身對象引用(因為靜態本來就沒有對象),可是我也想像單例對象一樣,能夠返回自身引用,從而調用方法的時候可以連續調用,形成一種鏈式效果,那怎么辦呢?看我下面寫的這個類就清楚了,實際上就是單例的意思吧!!!現在想想,這種做法,感覺有點怪了,不算科學,也有點多此一舉,破壞了靜態類的好處,因為這樣就跟單例一樣,整個類都加載進來了。

/**
 * @desc
 * @auth 方毅超
 * @time 2017/8/18 10:14
 */

public class A {
    static A a ;
    static {
        a =new A();
    }
    static String name ;
    public static A init(String name){
        A.name = name;
        return a;
    }
    public static A sprint(Context ctx){
        Toast.makeText(ctx.getApplicationContext(), "AAAA--"+name, Toast.LENGTH_LONG).show();
        Log.i("AAAA","AAAA--"+name);
        return a;
    }


    /**
     * 利用匿名類在靜態方法中獲取當前類,彌補靜態方法中不能用this.getClass()的不足
     */
    /*private static final Class getClassForStatic() {
        return new Object() {
            public Class getClassForStatic() {
                return this.getClass();
            }
        }.getClassForStatic();
    }*/

}

  /** 
     * 利用匿名類靜態方法中獲取當前類名  
     */  
   /*   private static final String getClassNameForStatic() {  
       return new Object() {  
            public String getClassName() {      
                String className = this.getClass().getName();      
                return className.substring(0, className.lastIndexOf('$'));      
            }    
       }.getClassName();  
    }  */  

類外引用:

A.init("a").sprint(this).init("b").sprint(this).init("c").sprint(this);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,333評論 25 708
  • 轉自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帥199207閱讀 8,604評論 3 93
  • 當自由成為書寫的前提,這是期待已久的事,但為何有些近情情卻,提起筆所有的詞匯在腦海中激蕩但卻在涌出的那刻擁塞了,或...
    茹小茹啊閱讀 132評論 2 0
  • 這里寫到凱蒂的朋友塔莉幫她染了頭發,化了妝,回到家,引起了父親以及弟弟的不滿。 在年幼的時候,我也有過同樣的經...
    Usha閱讀 278評論 0 0
  • 今天,有五個好友舉家結伴去云南旅行。去云南,一個人報團費就六千多,三口之家九天至少得花二萬。 他們登機前均拍照向我...
    四貓先生閱讀 980評論 35 20