Kotlin学习日记(三)类与类的继承

创建一个类

class Preson(var name:String  ,  var age:Int)//创建一个类 已经包含了构造方法 属性 get、set方法

class Preson  (var name:String,  var age:int){
init{
//...
//需要对构造方法进行拓展  在这里进行拓展
}
}

次构造方法

class Person {

    constructor() {

    }
    constructor(name: String):this() {

    }
    constructor(name: String, age: Int) : this(name) {

    }
}
类的成员变量初始化
class X

class  A{
var a =  0 //基本类型直接赋值java初始的值就行 int初始值为0 boolean为flase
var b:String  //编译不能通过 需要初始值
var c:X  //编译不能通过 需要初始值 
val d:X//编译不能通过 需要初始值
}
所以用这种方式进行延时初始化
class A{
var  a  = 0
 lateinit var b:String
lateinit var c:X
//lateinit val d:X  因为d是常量  所以这里不能使用lateinit来进行延时初始化  用下面这种方法初始化
val d:X  by lazy{
X()
}
}
继承类
任何类都是基础继承Any 所有的默认类都是不可集成的 类似final 所以只能集成带有open和abstract的类
class Student(var name:String,var age:Int,var studentId:Int, var studentMassage:String):Preson(name,age)
在这里指定参数传入父类的参数相当于super关键字

重写父类方法必须使用关键字override

open class Base {
	open fun v() {}
	fun nv() {}
}

class Derived() : Base() {
	override fun v() {}
}
允许类可以被继承 open关键字
open class Base(p: Int)
class Derived(p: Int) : Base(p)
在 Kotlin 中有四种修饰词: private , protected , internal ,以及  public  。默认的修饰符是  public
private 在该类可见
protected 该类和子类可见
internal 本模块可见 
public任何地方均可见






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值