android开发分享Android Kotlin全面详细类使用语法学习指南

前言kotlin被google官方认为是android开发的一级编程语言今天,我将主要讲解kotlin中的类的所有知识,主要内容包括如下:1. 类的声明 & 实例化// 格式class 类名(

上述就是android开发分享Android Kotlin全面详细类使用语法学习指南的全部内容,如果对大家有所用处且需要了解更多关于Android学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

前言

kotlin被google官方认为是android开发的一级编程语言

Android Kotlin全面详细类使用语法学习指南

今天,我将主要讲解kotlin中的类的所有知识,主要内容包括如下:

Android Kotlin全面详细类使用语法学习指南

1. 类的声明 & 实例化

// 格式  class 类名(参数名1:参数类型,参数名2:参数类型...){                  // to do   }  // 示例  class user(username: string, age: int){                 // to do   }  // 实例化  // kotlin没有new关键字,所以直接创建类的实例(无参情况 & 有参):  var user = user()  var user = user("abc" , 123)  // 额外说明:kotlin支持默认参数  // 即在调用函数时可不指定参数,则使用默认函数  class user(username: string = "hjc", age: int = 26){                // to do   }  // 在实例化类时不传入参数,username默认 = hjc,age默认 = 26  var user = user()  // 在设置默认值后,若不想用默认值可在创建实例时传入参数  var user = user("abc" , 123)  // 注:命名参数  若一个默认参数在一个无默认值的参数前,那么该默认值只能通过使用命名参数调用该函数来使用  class user(username: string = "hjc", age: int){      // to do   }  var user = user(age = 26)

对于构造函数,kotlin中类可有一个主构造函数 & 多个次构造函数,下面将详细说明。

2. 构造函数

2.1 主构造函数

  • 属于类头的一部分 = 跟在类名后,采用 constructor 关键字
  • 不能包含任何的代码。初始化的代码放到以 init 关键字作为前缀的代码块中
class 类名 constructor(参数名:参数类型){  	init {             //...      }  }  // 示例  class user constructor(username: string) {  	init {             //...      }  }  // 注:若主构造函数无任何注解 / 可见性修饰符,可省略 constructor 关键字  class 类名(参数名:参数类型){  	init {             //...      }  }  // 示例  class user (username: string) {  	init {             //...      }  }

2.2 次构造函数

  • 必须加constructor关键字
  • 一个类中可存在多个次构造函数,传入参数不同
// 形式  constructor(参数名:参数类型) :{函数体}  // 示例  class user(username: string) {      // 主构造函数      init {          println(username)      }      // 次构造函数1:可通过this调主构造函数      constructor() : this("hjc")      // 次构造函数2:可通过this调主构造函数      constructor(age: int) : this("hjc") {          println(age)      }      // 次构造函数3:通过this调主构造函数      constructor(sex: string, age: int) : this("hjc") {          println("$sex$age")      }  }  // 实例化类  user("hjc") // 调用主构造函数  user()      // 调用次构造函数1  user(2)     // 调用次构造函数2  user("male",26) // 调用次构造函数3

3. 类的属性

kotlin的类可以拥有属性:关键字var(读写) / 关键字val(只读)

class user {      var username: string      val sex: string = "男"  }  // 使用属性 = 名称 + 引用  user().sex  // 使用该属性 = java的getter方法  user().username = "hjc"  // 设置该属性 = java的setter方法

4. 可见性修饰符

Android Kotlin全面详细类使用语法学习指南

5. 继承 & 重写

  • 类似于java,kotlin是单继承 = 只有一个父类
  • 区别:kotlin使用冒号“ : ”继承 & 默认不允许继承(若想让类可被继承,需用open关键字来标识)
// 用open关键字标识该类允许被继承  open class food   // 类fruits继承类food  class fruits : food()
  • 对于子类重写父类的方法,在kotlin中,方法也是默认不可重写的
  • 若子类要重写父类中的方法,则需在父类的方法前面加open关键字,然后在子类重写的方法前加override关键字
// 父类  // 在类 & 方法前都加了关键字open,为了被继承 & 方法重写  open class food {      open fun banana() {}  }  // 子类   class fruits : food(){  	// 重写了父类的方法      override fun banana() {          super.banana()      }  }

6. 特殊类

下面将讲解一些特殊的类:

  • 嵌套类(内部类)
  • 接口
  • 数据类
  • 枚举类

6.1 嵌套类(内部类)

/**   * 1. 嵌套类(内部类)   * 标识:关键字inner   * 使用:通过外部类的实例调用嵌套类   */   class user {      var age: int = 0      inner class username {      }  }  var username: user.username  = user().username()

6.2 接口

/**   * 2. 接口   * 标识:关键字interface   */  // 声明  interface a{}  interface b{}  // 方法体  // 接口中的方法可以有默认方法体,有默认方法体的方法可不重写  // 区别于java:java不支持接口里的方法有方法体。  interface userimpl{      fun getname(): string // 无默认方法体,必须重写      fun getage(): int{    // 有默认方法体,可不重写          return 22      }  }  // 实现接口userimpl:需重写getname() & 可不重写getage()  class user :userimpl{      override fun getname(): string {          return "hjc"      }  }  // 实现接口:冒号:  class food : a, b {} // kotlin是多实现  class fruits: food,a, b {} // 继承 + 实现接口

6.3 数据类

 /**    * 3. 数据类    * 作用:保存数据    * 标识:关键字data   */  // 使用:创建类时会自动创建以下方法:  //      1. getter/setter方法;  //      2. equals() / hashcode() 对;  //      3. tostring() :输出"类名(参数+参数值)";  //      4. copy() 函数:复制一个对象&改变它的一些属性,但其余部分保持不变  // 示例:  // 声明1个数据类  data class user(var username: string, var age: int)  // copy函数使用  var user = user("hjc",26)  var user1 = user.copy(age = 30)  // 输出user1.tostring(),结果是:user(username=hjc,age=30)  // 特别注意  // 1. 主构造方法至少要有一个参数,且参数必须标记为val或var  // 2. 数据类不能用open、abstract、sealed(封闭类)、inner标识

6.4 枚举类

/**   * 4. 枚举类   * 标识:关键字enum   */   // 定义   enum class color {      red, green, blue  }  // 为枚举类指定值  enum class color(rgb: int) {      red(0xff0000), green(0x00ff00), blue(0x0000ff)  }

总结

android开发分享Android Kotlin全面详细类使用语法学习指南全面介绍了kotlin语法中的类,更多关于android kotlin类语法的资料请关注<计算机技术网(www.ctvol.com)!!>其它相关文章!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/1108838.html

(0)
上一篇 2022年6月27日
下一篇 2022年6月27日

精彩推荐