标签:
最近在学习图片加载框架Glide的时候,被他精简的写法震惊了。一句话,就可以搞定。
Glide.with(mContext)
.load(url)
.centerCrop()
.placeholder(R.drawable.default_img)
.crossFade()
.into(mImageView);
同时在年初的时候,学习RXJava的时候,用链式编程很优雅。
Observable
.just( "1" , "2" )
.subscribeOn(Schedulers.io() )
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<String>() {
@Override
public void call(String s) {
}
}) ;
今天就来学习一下,建造者模式在Android中简单应用 。
package com.app.lib;
/**
* Created by ${zyj} on 2016/6/27.
*/
public class UserMoule {
private String id ;
private String name ;
public UserMoule( String id , String name ){
this.id = id ;
this.name = name ;
}
static class Builder {
private String id ;
private String name ;
public Builder setId(String id) {
this.id = id;
return this ;
}
public Builder setName(String name) {
this.name = name;
return this ;
}
public UserMoule create(){
return new UserMoule( id , name ) ;
}
}
}
调用
new UserMoule.Builder()
.setId( "id")
.setName( "json")
.create() ;
一般写内部类的意图都是为了说明该类和宿主类关系密切,而private , static , final 这些可以单独拿出来说,static这个区别比较大,没有static修饰,说明此类必须依赖宿主类的对象;而有static修饰,就不依赖与对象的存在了,类名. 即可,整体类似方法上添加static。private这玩意,完全取决于你是否希望将此类暴露出去;final则是为了标明该类不可继承修改.
而且
使用static就如同你新建了一个JAVA文件,静态内部类不会保持对外部类的引用。如果你的builder需要外部类的引用,那它Build就没有意义了,所以必须加static。
相关链接:http://www.jianshu.com/p/5d9db54892c8
标签:
原文地址:http://www.cnblogs.com/zhaoyanjun/p/5621284.html