日期: 2022-09-20 22:32:07 浏览数:11

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
台州网站优化

fun main(args: Array<String>) {
var s = Student("Runoob", 18, "S12345", 89)}输出结果:
-------基类次级构造函数----------------继承类次级构造函数---------学生名: Runoob年龄: 18学生号: S12345成绩: 89
在基类中,使用fun声明函数时,此函数默认为final修饰,不能被子类重写。如果允许子类重写该函数,那么就要手动添加 open 修饰它, 子类重写方法使用 override 关键词:
/**用户基类**/open class Person{
open fun study(){ // 允许子类重写
println("我毕业了")
}}/**子类继承 Person 类**/class Student : Person() {
override fun study(){ // 重写方法
println("我在读大学")
}}fun main(args: Array<String>) {
val s = Student()
s.study();}输出结果为:
我在读大学
如果有多个相同的方法(继承或者实现自其他类,如A、B类),则必须要重写该方法,使用super范型去选择性地调用父类的实现。
open class A {
open fun f () { print("A") }
fun a() { print("a") }}interface B {
fun f() { print("B") } //接口的成员变量默认是 open 的
fun b() { print("b") }}class C() : A() , B{
override fun f() {
super<A>.f()//调用 A.f()
super<B>.f()//调用 B.f()
}}fun main(args: Array<String>) {
val c = C()
c.f();}C 继承自 a() 或 b(), C 不仅可以从 A 或者 B 中继承函数,而且 C 可以继承 A()、B() 中共有的函数。此时该函数在中只有一个实现,为了消除歧义,该函数必须调用A()和B()中该函数的实现,并提供自己的实现。
输出结果为:
AB
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)