当前位置: 首页 > article >正文

Kotlin:为什么创建类不能被继承

一、为什么创建类不能被继承

class或data class 默认情况下,Kotlin 类是最终(final)的:它们不能被继承。

示例:data class PsersonBean
在这里插入图片描述

反编译data class PsersonBean 生成 public final class PsersonBean
在这里插入图片描述

示例:class User
在这里插入图片描述

反编译class User生成** public final class User**
在这里插入图片描述

二、让类可继承的方式有几种

1. 用 open 关键字标记类

示例:open class Shape
在这里插入图片描述
在这里插入图片描述

继承示例:class Circle() : Shape()
在这里插入图片描述

2. 用abstract将类声明为抽象类

示例:abstract class Car在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Testabstract.kt文件代码

abstract class Car {
    private var mPrice: String? = null

    fun setPrice(price: String?) {
        mPrice = price
    }

    fun getPrice(): String {
        return mPrice ?: "0.00"
    }

}

class M9SUVCar : Car() {
}

class U8SUVCar : Car() {
}

fun main() {
    val m9Car = M9SUVCar()
    m9Car.setPrice("46.80")

    val u8SUVCar = U8SUVCar()
    u8SUVCar.setPrice("109.80")
    
	println("M9SUVCar的价格:${m9Car.getPrice()} 万元")
    println("U8SUVCar的价格:${u8SUVCar.getPrice()} 万元")
}

运行结果
在这里插入图片描述

推荐

Kotlin:类、构造函数、继承


http://www.kler.cn/a/272012.html

相关文章:

  • Flutter:搜索页,搜索bar封装
  • 数学规划问题2 .有代码(非线性规划模型,最大最小化模型,多目标规划模型)
  • 【动态规划】落花人独立,微雨燕双飞 - 8. 01背包问题
  • jupyter notebook环境问题
  • PAT (Basic Level) Practice 乙级1041-1045
  • 【数据分享】1929-2024年全球站点的逐年最低气温数据(Shp\Excel\免费获取)
  • 88. 合并两个有序数组 (Swift版本)
  • sxf-漏洞研究员实习
  • DFL《384底丹 430万》 wf/df-udt/448/96/96/32预训练模型
  • unet各模块内容的理解(包含注意力机制、残差、以及数据维度的变化)
  • 软件杯 深度学习 python opencv 动物识别与检测
  • 最强AI换脸工具Rope使用教程,Rope整合包下载【全网最全安装步骤】
  • 内存函数memcpy和memmove的讲解
  • 科技回顾,飞凌嵌入式受邀亮相第八届瑞芯微开发者大会「RKDC2024」
  • scrcpy远程投屏控制Android
  • 计算机等级考试:信息安全技术 知识点十二
  • vue2+vant2+Laravel7 实现多图上传到七牛云
  • 教你申请腾讯云免费服务器,准备好账号
  • SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)
  • echo,date,bc命令详解
  • 模型、算法、数据模型、模型结构是什么?它们之间有什么关联和区别?
  • git |常用命令
  • 【Python】新手入门学习:什么是相对路径,应用相对路径有哪些注意事项
  • 2024年3月职业健康安全管理体系基础考试真题
  • Golang 中 map[string]string 如何在 TOML 文件中配置
  • cannot find -xml2: No such file or directory的解决方法