作家
登录

快速入门Kotlin的11招

作者: 来源: 2017-06-15 09:06:33 阅读 我要评论

  1. val date = Date() 

9. 若何写 Getter 和 Setter 办法

Java 的 Getter 和 Setter 是一种商定俗称,而不是语法特点,所以定义起来相对自由:

  1. public class GetterAndSetter{ 
  2.     private int x = 0; 
  3.  
  4.     public int getX() { 
  5.         return x; 
  6.     }  
  7.     public void setX(int x) { 
  8.         this.x = x; 
  9.     } 

Kotlin 是有属性的:

  1. class KotlinGetterAndSetter{ 
  2.     var x: Int = 0 
  3.         set(value) { field = value } 
  4.         get() = field 

留意看到,我们为 x 显式定义了 getter 和 setter,field 是 x 背后真正的变量,所以 setter 傍边其实就是为 field 赋值,而 getter 则是返回 field。如不雅你想要对 x 的拜访做控制,那么你就可以经由过程自定义 getter 和 setter 来实现了:

  1. class KotlinGetterAndSetter{ 
  2.     var x: Int = 0 
  3.         set(value) { 
  4.             val date = Calendar.getInstance().apply { 
  5.                 set(2017, 2, 18) 
  6.             } 
  7.             if(System.currentTimeMillis() < date.timeInMillis){ 
  8.                 println("Cannot be set before 2017.3.18"
  9.             }else
  10.                 field = value 
  11.             } 
  12.         } 
  13.         get(){ 
  14.             println("Get field x: $field"
  15.             return field 
  16.         }    

10. 若何延迟初始化成员变量

Java 定义的类成员变量如不雅不初始化,那么根本类型被初始化为其默认值,比如 int 初始化为 0,boolean 初始化为 false,非根本类型的成员则会被初始化为 null。


  推荐阅读

  搭载YunOS的互联网汽车 不单单只是会上网那么简单

【51CTO.com原创稿件】马云曾经说过,今天的手机因为参加了智能操作体系后,80%的手机功能似乎与打德律风、发信息这种纯真的通信没有了关系;而将来汽车参加YunOS操作体系后>>>详细阅读


本文标题:快速入门Kotlin的11招

地址:http://www.17bianji.com/lsqh/35779.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)