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

Kotlin 继承和实现

文章目录

  • 前言
  • 继承(extend)
  • 实现(implement)
  • 继承与实现

前言

在 Kotlin 中,继承和实现都是在类名后使用冒号:,后边加上其他类或接口的名称来表示,二者之间写法没有太大区别(类需要加括号,而接口不用)。

class 类名: 其他类(), 接口

一个类只能继承一个类,但可以实现多个接口。

继承和实现都可以从一个类或接口中得到公开public或受保护protected的属性或方法的方式。

在继承、实现类中,可以通过super来访问继承类、实现接口中公开public或受保护protected的属性、方法和构造函数:

open class Water(val temperature: Double) {open fun mixWithCoke() = println("可乐兑水")
}class Ice: Water {// 父类构造// 当然,我们一般写在类上就行:// class Ice: Water(-10.0)constructor():super(-10.0)override fun mixWithCoke() {// 调用父类方法super.mixWithCoke()print("可乐加冰")}
}fun main() {val ice = Ice()// 可以继承父类的属性println(ice.temperature)// 我们只调用了可乐加冰// 而在冰兑可乐中调用了父类的水兑可乐ice.mixWithCoke()
}
-10.0
可乐兑水
可乐加冰

继承(extend)

继承通常是是对类class而言的。一个类继承自另一个类,被继承的类称为父类,而继承类称为子类

  • 在 Kotlin 中,所有类默认继承自Any,因此称Any为所有类的父类,所有类为Any的子类。
  • 接口interface不能继承类class

实现(implement)

实现通常是对接口interface而言的。一个类实现了某个接口,该类称为接口的实现类。

继承与实现

继承类被继承实现接口
普通类class×
普通类open class
抽象类abstract class
密封类sealed class
数据类data class×
枚举类enum class×
内联值类@JvmInline value class××
对象object×
接口实现接口被实现
普通接口interface
密封接口sealed interface
函数接口fun interface

相关文章:

Kotlin 继承和实现

文章目录 前言继承(extend)实现(implement)继承与实现 前言 在 Kotlin 中,继承和实现都是在类名后使用冒号:,后边加上其他类或接口的名称来表示,二者之间写法没有太大区别(类需要加…...

MATLAB误差估计扩展卡尔博斯方法的目录大纲

MATLAB误差估计扩展卡尔博斯方法的目录大纲 目录: 一、引言 1.1 背景介绍 1.2 研究意义 二、基本理论 2.1 误差估计的基本概念 2.2 卡尔博斯方法的基本原理 三、MATLAB误差估计扩展卡尔博斯方法 3.1 MATLAB简介 3.2 MATLAB在误差估计中的应用 3.3 MATLAB扩展卡尔…...

NetMizer 日志管理系统前台RCE漏洞

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 一、产品介绍 NetMizer日志管理系统是一个与NetMizer流量管理设备配合…...

【spring】第二篇 bean实例化

对象已经能交给Spring的IOC容器来创建了,但是容器是如何来创建对象的呢? 就需要研究下bean的实例化过程,在这块内容中主要解决两部分内容,分别是 bean是如何创建的 实例化bean的三种方式,构造方法,静态工厂和实例工厂 在讲解这…...

MVC和MVVM

MVC Model层:用于处理应用程序数据逻辑的部分,通常负责在数据库中存取数据 View(视图)处理数据显示的部分。通常视图是依据模型数据创建的 Controller(控制器)是处理用户交互的部分。通常控制器负责从视…...

【康耐视国产案例】智能AI相机机器视觉精准快速实现包裹标签的智能粘贴

康耐视推出的3D-A1000是专业的、匹配物流行业各类分拣机及包裹检测应用的全功能视觉检测系统,其能够准确检测分拣机上是否有包裹、包裹是否超出边界、空车检测、是否有遗留物品等。由于搭载了专利的三维结构光技术,产品具有更强大的创新性以满足持续更新…...

发现真正的诉求

在不久前,我在负责一个项目,设计了一个方案。但是,与我一同合作的同事对其中的一个设计点持有异议。我们尝试讨论解决,但似乎没有找到共识。然而,尽管双方的观点没有达成一致,我们都清楚地表达了自己的想法…...

Spring Boot配置MySQL数据库连接数

1.如何在Spring Boot中配置MySQL数据库的连接数 1.1主要配置 在Spring Boot中配置MySQL数据库连接数通常涉及到两个主要的配置: (1)数据源配置:这通常是在application.properties或application.yml文件中完成的,用于…...

springboot595基于Java的大学生迎新系统-手把手调试搭建

springboot595基于Java的大学生迎新系统-手把手调试搭建 springboot595基于Java的大学生迎新系统-手把手调试搭建...

20 道大模型面试问题(含答案)

大型语言模型在生成式人工智能(GenAI)和人工智能(AI)中正变得越来越有价值。这些复杂的算法增强了人类的能力,并在各个领域促进了效率和创造力。 节前,我们组织了一场算法岗技术&面试讨论会&#xff0…...

【Java面试】四、MySQL篇(上)

文章目录 1、定位慢查询2、慢查询的原因分析3、索引3.1 数据结构选用:二叉树 & 红黑树3.2 数据结构选用:B树 4、聚簇索引、非聚簇索引、回表查询4.1 聚簇索引、非聚簇索引4.2 回表查询 5、覆盖索引、超大分页优化5.1 覆盖索引5.2 超大分页处理 6、索…...

【Python】collections模块:高效处理数据的利器

Python中的collections模块:高效处理数据的利器 Python的collections模块是一个内置模块,它提供了一些专用的容器数据类型,作为Python通用内置容器(如列表list、字典dict、集合set和元组tuple)的替代品。本文将深入探…...

Vue3实战笔记(51)—Vue 3封装带均线的k线图

文章目录 前言带均线的k线图总结 前言 继续封装一个封装带均线的k线图 带均线的k线图 EChartsCandlestickSh.vue&#xff1a; <template><div ref"chartContainer" style"width: 100%; height: 500px"></div></template><scr…...

信息与未来2015真题笔记

[信息与未来 2015] 加数 题目描述 给出一个正整数 n n n&#xff0c;在 n n n 的右边加入 ⌊ n 2 ⌋ \left\lfloor\dfrac n2\right\rfloor ⌊2n​⌋&#xff0c;然后在新数的右边 再加入 ⌊ ⌊ n 2 ⌋ 2 ⌋ \left\lfloor\dfrac{\left\lfloor\dfrac n2\right\rfloor}2\rig…...

【成功解决】Access token invalid or no longer valid

项目场景&#xff1a; python调用文心一言对应的ERNIE-4.0-8K模型API接口&#xff0c;方式为单次调用 问题描述 提示&#xff1a; “error_code”: 110, “error_msg”: “Access token invalid or no longer valid” C:\Users\PUB\AppData\Local\Programs\Python\Python38-…...

【Bug】修改计算机名称出现ip无法连接mysql数据库

解决&#xff1a; mysql -u root -p输入密码登录mysql服务器&#xff0c;那个ip是本机ip4的地址单ip放行。推荐全部&#xff0c;后面123456是密码 GRANT ALL PRIVILEGES ON *.* TO root192.168.0.109 IDENTIFIED BY 123456; 全部IP都放行 GRANT ALL PRIVILEGES ON *.* …...

米尔MYC-Y6ULX-V2开发板测评记录

文章目录 1、板子上手体验2、板载硬件3、系统信息4、 驱动测试5、编译linux三大件7、摄像头测试9、总结 1、板子上手体验 首先非常感谢芯查查给了这样一个机会来测评这样一款性能十分强大的开发板&#xff0c;我拿到手的是MYC-Y6ULX-V2核心板及开发板&#xff0c;这块板子具有…...

装修全流程

Summary 从2023年底到现在&#xff08;2024年6月2日&#xff09;&#xff0c;装修可以定的东西基本过半了&#xff0c;我按照时间顺序把每个环节的内容和想法都记录一下 环节 选装修公司、找设计师设计环节预算计算角色介绍建材选型敲墙和开工水电放样泥工木工放样To be cont…...

探索微软Edge

微软开发的官方浏览器 Microsoft Edge是微软基于 Chromium 开源项目及其他开源软件开发的网页浏览器。 2015年4月30日&#xff0c;微软在旧金山举行的Build 2015开发者大会上宣布——Windows 10内置代号为“Project Spartan”的新浏览器被正式命名为“Microsoft Edge”&#x…...

Java面试——专业技能

优质博文&#xff1a;IT-BLOG-CN 一、简单讲下 Java 的跨平台原理 由于各个操作系统&#xff08;Windows&#xff0c;Linux等&#xff09;支持的指令集不是完全一致的。就会让我们程序在不同的操作系统上要执行不同的程序代码。Java 开发了适用于不同操作系统及位数的 Java 虚拟…...

Ubuntu系统优化下的LiuJuan20260223Zimage高性能部署

Ubuntu系统优化下的LiuJuan20260223Zimage高性能部署 本文基于Ubuntu 22.04 LTS系统测试&#xff0c;适用于NVIDIA GPU环境 1. 环境准备与系统优化 在开始部署LiuJuan20260223Zimage之前&#xff0c;我们先对Ubuntu系统进行一些基础优化&#xff0c;这些调整能让后续的模型运行…...

Graphormer效果展示:OGB-LSC PCQM4M榜单提交格式与验证流程

Graphormer效果展示&#xff1a;OGB-LSC PCQM4M榜单提交格式与验证流程 1. 模型概述 Graphormer是一种基于纯Transformer架构的图神经网络&#xff0c;专门为分子图&#xff08;原子-键结构&#xff09;的全局结构建模与属性预测而设计。该模型在OGB&#xff08;Open Graph B…...

近场声全息(NAH)数据与MATLAB实现

一、近场声全息核心原理 近场声全息&#xff08;NAH&#xff09;通过测量声源近场区域的声压分布&#xff08;包含传播波和倏逝波成分&#xff09;&#xff0c;利用空间傅里叶变换重建声场分布。其核心公式基于Helmholtz-Kirchhoff积分方程&#xff1a;其中&#xff1a; p0(kx,…...

Precor必确 GLUTEBUILDER 系列,带来系统化臀部训练解决方案

在健身训练不断细分的当下&#xff0c;臀部训练早已不再是“顺带练一练”的附属项目&#xff0c;而是被置于与胸、背、腿同等重要的核心地位。然而&#xff0c;真正高效的臀腿训练&#xff0c;从来不是简单堆叠负重&#xff0c;而是建立在精准发力与动作模式科学之上的系统工程…...

高效突破语言壁垒:KISS Translator的全场景翻译解决方案

高效突破语言壁垒&#xff1a;KISS Translator的全场景翻译解决方案 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode.c…...

YOLOv11检测头架构演进与工程实现剖析

1. YOLOv11检测头架构演进解析 目标检测领域近年来发展迅猛&#xff0c;YOLO系列作为其中的佼佼者&#xff0c;每次迭代都带来显著突破。YOLOv11的检测头设计堪称该系列迄今为止最精妙的架构创新&#xff0c;它彻底重构了传统检测头的任务处理方式。我曾在多个工业项目中尝试过…...

六音音源修复工具:洛雪音乐跨版本兼容解决方案

六音音源修复工具&#xff1a;洛雪音乐跨版本兼容解决方案 【免费下载链接】New_lxmusic_source 六音音源修复版 项目地址: https://gitcode.com/gh_mirrors/ne/New_lxmusic_source 问题溯源&#xff1a;洛雪音乐的音源服务中断危机 在数字音乐生态中&#xff0c;软件版…...

Tree of Thoughts终极指南:5分钟掌握思维树算法原理与实战应用

Tree of Thoughts终极指南&#xff1a;5分钟掌握思维树算法原理与实战应用 【免费下载链接】tree-of-thought-llm [NeurIPS 2023] Tree of Thoughts: Deliberate Problem Solving with Large Language Models 项目地址: https://gitcode.com/gh_mirrors/tr/tree-of-thought-l…...

Spring Security实战:Bcrypt加密算法在用户密码存储中的正确使用姿势(附完整代码)

Spring Security实战&#xff1a;Bcrypt加密算法在用户密码存储中的正确使用姿势&#xff08;附完整代码&#xff09; 在当今数字化时代&#xff0c;用户密码安全已成为系统开发中最基础也最关键的一环。作为开发者&#xff0c;我们经常面临一个核心问题&#xff1a;如何在数据…...

开源剧本AI落地实操:像素剧本圣殿+Dual-GPU并行推理完整教程

开源剧本AI落地实操&#xff1a;像素剧本圣殿Dual-GPU并行推理完整教程 1. 项目概览 像素剧本圣殿&#xff08;Pixel Script Temple&#xff09;是一款基于Qwen2.5-14B-Instruct深度微调的专业剧本创作工具。这个开源项目将先进的AI推理能力与独特的8-Bit复古美学相结合&…...