自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (2)
  • 收藏
  • 关注

原创 Kotlin内联:noinline与crossinline

非局部返回一个函数中,如果存在一个lambda表达式,在该lambda中不支持直接进行return退出该函数,比如:fun outterFun() { innerFun { //return //错误,不支持直接return //只支持通过标签,返回innerFun return@innerFun } //如果是匿名或者具名函数

2017-11-20 17:58:27 11133 4

原创 接口代理

在实现接口时,我们可以通过by代理,将另一个实现接口的类的实例作为当前的接口实现,也就是把另一个接口实现类作为默认的实现;class MyListener : Transition.TransitionListener by EmptyTransitionListener { override fun onTransitionStart(transition: Transition) {

2017-11-16 18:29:23 1132

原创 Kotlin代理之属性代理

属性代理属性代理实际就是将属性的值的设置(set)和获取(get)的流程交给了其他的对象代理,相当于为原对象增加了一个backing field(理解为存储值的内存),变量的实际值一般被保存在代理对象中;var与val设置代理对于var变量,要求代理必须实现getValue和setValue操作符方法,而val只需要实现getValue;比如常用的lazy代理,只能用在val常量上: val

2017-11-16 18:19:38 827

原创 Kotlin的扩展属性和扩展方法

扩展方法的原理Kotlin 中类的扩展方法并不是在原类的内部进行拓展,通过反编译为Java代码,可以发现,其原理是使用装饰模式, 对源类实例的操作和包装,其实际相当于我们在Java中定义的工具类方法,并且该工具类方法是使用调用者为第一个参数 的,然后在工具方法中操作该调用者;该调用者在Kotlin中使用this关键字表示;比如:定义一个String的操作符函数,其中的this表示调用者本身;f

2017-11-15 11:52:40 3929

原创 Kotlin的sealed与enum

与enum的对比:enum适合用来表示状态,因为状态无论何时,全局只有一个,而sealed适合用来表示类似指令,这种全局同一时间可能存在多个的情况。sealed类似于枚举,其规定了子类的种类的限制,当子类可以有多个实例时,定义为class,否则定义为object(enum:实例可数,sealed:子类可数)。sealed的子类当不需要保存状态时,即所有的实例都保有相同的状态时用object,如果同一种子类需要

2017-11-13 12:32:09 1418

21天学通java

很好,很强大!个人比较喜欢的一本电子书,拿出来跟大家分享。

2013-12-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除