静态类--返回“自身指针”--链式调用

前言:写过很多静态工具类,发现静态类根本无法返回自身对象引用(因为静态本来就没有对象),可是我也想像单例对象一样,能够返回自身引用,从而调用方法的时候可以连续调用,形成一种链式效果,那怎么办呢?看我下面写的这个类就清楚了,实际上就是单例的意思吧!!!现在想想,这种做法,感觉有点怪了,不算科学,也有点多此一举,破坏了静态类的好处,因为这样就跟单例一样,整个类都加载进来了。

/**
 * @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,898评论 25 709
  • 转自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帅199207阅读 8,648评论 3 93
  • 当自由成为书写的前提,这是期待已久的事,但为何有些近情情却,提起笔所有的词汇在脑海中激荡但却在涌出的那刻拥塞了,或...
    茹小茹啊阅读 132评论 2 0
  • 这里写到凯蒂的朋友塔莉帮她染了头发,化了妆,回到家,引起了父亲以及弟弟的不满。 在年幼的时候,我也有过同样的经...
    Usha阅读 280评论 0 0
  • 今天,有五个好友举家结伴去云南旅行。去云南,一个人报团费就六千多,三口之家九天至少得花二万。 他们登机前均拍照向我...
    四猫先生阅读 998评论 35 20