首页 > 其他分享 >kotlin 类继承的演示

kotlin 类继承的演示

时间:2022-11-24 13:37:24浏览次数:43  
标签:演示 name interect 继承 kotlin age init hello String


open class Person(name: String, age: Int) {
var currentName = name;
var age = age;

init {
"init call ${currentName} name:${name}"
}

fun hello() {
println("hello method call my name is:${this.currentName} ,i'm ${this.age} years old");
}
}

class Zhang(name: String, age: Int) : Person(name, age) {

}

class Luo : Person {
var interect: String? = null;

constructor(name: String) : super(name, 0);
constructor(name: String, birthday: Long, age: Int) : super(name, age);
constructor(name: String, birthday: Long, interect: String, age: Int) : super(name, age) {
this.interect = interect;

}

init {
println("luo init call this.interect ${this.interect}");
}
}

class Li : Person {
constructor(deathTime:Long, age: Int=1,name: String = "i am zhang") : super(name, age) {
println(" Li constructor ${name}");
}
}

class SuperMan : Person {
fun productSuerMan(): SuperMan {
return SuperMan();
}

private constructor() : super("qssq", 1000);
}



var person = Li(100);
var person3 = Li(100, 1);
var person2 = Li(100, 1, "hello");
person.hello();
person3.hello();
person2.hello();
val obj = TestStatic.getInstanceXXX()
TestStatic.main()
println("hello obj${obj}")

由于有默认值,应该是不能进行重载的,另外 没有默认值的参数必须放前面,否则报错无论什么构造 在构造完成之后 都会走init方法,因此init里面 可以拿构造方法的值。

标签:演示,name,interect,继承,kotlin,age,init,hello,String
From: https://blog.51cto.com/u_15458814/5883579

相关文章

  • java单例转kotlin的表现
    java代码classTestStatic{privatestaticfinalStringTAG="TestStatic";privatestaticTestStaticinstance;privatestaticTestStaticstaticField;......
  • kotlin
    varemail=null;email?:println("emailisempty");email?.let{println("emalinotempty");}varcurrent=email?.let{"nihao"}?:"notifuckiamnull";println(......
  • 简单的股票行情演示(二) - AKShare
    目录一、概述二、环境搭建三、使用总结1、API文档2、数据字典3、效果截图4、后台服务四、相关文章原文链接:简单的股票行情演示(二)-akshare一、概述上一篇文章简单的股......
  • 继承当中成员变量和成员方法的特点
    继承中:成员变量的访问特点小结成员方法的访问特点方法的重写代码实现方法重写的本质方法重写注意事项和要求练习思路总结......
  • 实验五 继承和多态
    实验任务41#pragmaonce23#include<string>4#include<iostream>56usingstd::string;78classMachinePets{9public:10Machine......
  • 子类到底可以继承父类的哪些内容?
    子类到底能继承父类的哪些内容?构造方法是否可以被继承?成员变量是否可以被继承非私有的,子类可以直接调用private私有的,需要get和set方法才能使用非私有化......
  • 实验五:继承和多态
    task4.cpp#include<iostream>#include"pets.h"voidplay(MachinePets&obj){std::cout<<obj.get_nickname()<<"says"<<obj.talk()<<std::endl;}voidtest(){......
  • 简单的股票行情展示演示(一) - 实时标的数据
    目录一、概述二、效果展示三、实现代码1、行情数据中心2、数据拉取模块3、基础服务模块4、UI展示四、相关文章原文链接:简单的股票行情演示(一)-实时标的数据一、概述很......
  • 一文带你吃透java中的继承
    继承继承的概念面向对象的三大特征:封装性、继承性、多态性。继承是多态的前提,如果没有继承,就没有多态。继承关系当中的特点:1.子类可以拥有父类的“内容”。2.子类......
  • 用汇编的眼光看C++(之类继承)
       继承是类的一个基本属性,可是在类的继承过程中,函数是怎么初始化?怎么析构的呢?我们不妨看看下面这样的一段代码?classemployee{public:employee(){printf("employee......