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

android kotlin 基础复习 继承 inherit

1、新建文件kt

2、代码:

/**用户基类**/
open class Person1(name:String){/**次级构造函数**/constructor(name:String,age:Int):this(name){//初始化println("-------基类次级构造函数---------")println("name:${name},age:${age}")}
}/**子类继承 Person 类**/
class Student1:Person1{/**次级构造函数**/constructor(name:String,age:Int,no:String,score:Int):super(name,age){println("-------继承类次级构造函数---------")println("学生名: ${name}")println("年龄: ${age}")println("学生号: ${no}")println("成绩: ${score}")}
}/**用户基类**/
open class Person2{open fun study(){       // 允许子类重写println("我毕业了")}
}/**子类继承 Person 类**/
class Student2 : Person2() {override fun study(){    // 重写方法println("我在读大学")}
}open class A {open fun f () { print("A") }fun a() { println("a") }
}interface B {fun f() { println("B") } //接口的成员变量默认是 open 的fun b() { println("b") }
}class C() : A() , B{override fun f() {super<A>.f()//调用 A.f()super<B>.f()//调用 B.f()super.b()}
}fun main(args: Array<String>) {var s =  Student1("Runoob", 18, "S12345", 89)println("--------- s2 -------")val s2 =  Student2()s2.study()println("--------- c -------")val c =  C()c.f()
}

3、输出:

4、Student1也可以这样写:

/**子类继承 Person 类**/
class Student1(name: String, age: Int, no: String, score: Int) : Person1(name, age) {init {println("-------继承类次级构造函数---------")println("学生名: ${name}")println("年龄: ${age}")println("学生号: ${no}")println("成绩: ${score}")}
}

5、说明:

oop中,一般抽象出共同的特性形成一个类,比如person有一个name。

student继承了以后,也具有了这个属性name,然后还可以增加属于自己的属性,形成一个更加具

体的类。比如:只有学生才有学生号、成绩等。

相关文章:

android kotlin 基础复习 继承 inherit

1、新建文件kt 2、代码&#xff1a; /**用户基类**/ open class Person1(name:String){/**次级构造函数**/constructor(name:String,age:Int):this(name){//初始化println("-------基类次级构造函数---------")println("name:${name},age:${age}")} }/**子…...

读软件设计的要素06概念完整性

1. 概念完整性 1.1. 当概念组合成一个软件时&#xff0c;它们可以同步以便协调行为 1.1.1. 同步可能会消除一个概念的某些行为&#xff0c;但决不会添加与该概念的规范不一致的新行为 1.1.2. 在使用概念设计软件时&#xff0c;即使你没有精确定义同步&#xff0c;至少要说服自…...

Java 每日一刊(第2期):搭建开发环境

文章目录 JVM、JRE、JDKJVM&#xff08;Java Virtual Machine&#xff0c;Java 虚拟机&#xff09;JRE&#xff08;Java Runtime Environment&#xff0c;Java 运行时环境&#xff09;JDK&#xff08;Java Development Kit&#xff0c;Java 开发工具包&#xff09;JVM、JRE、JD…...

探索EasyCVR与AI技术深度融合:视频汇聚平台的新增长点

随着5G、AI、边缘计算、物联网&#xff08;IoT&#xff09;、云计算等技术的快速发展&#xff0c;万物互联已经从概念逐渐转变为现实&#xff0c;AIoT&#xff08;物联网人工智能&#xff09;的新时代正在加速到来。在这一背景下&#xff0c;视频技术作为信息传输和交互的重要手…...

IBM中国研发部调整:全球化与本土化的新平衡

如何看待IBM中国研发部裁员&#xff1f; 近日&#xff0c;IBM中国宣布撤出在华两大研发中心&#xff0c;引发了IT行业对于跨国公司在华研发战略的广泛讨论。这一决定不仅影响了众多IT从业者的职业发展&#xff0c;也让人思考全球化背景下中国IT产业的竞争力和未来发展方向。面对…...

C++入门基础篇

引言 说到编程语言常常听到的就是C语言C Java 。C语言是面向过程的&#xff0c;C是和Java是面向对象的&#xff0c;那么什么是面向对象呢&#xff1f;什么又是面向过程呢&#xff1f;C是什么&#xff1f;封装、继承、多态是什么&#xff1f;且听我絮絮叨叨。 C入门基础 1.命名…...

Qt QListWidget 代码范例,以及Qt 天坑:setStyleSheet失效问题

一、坑之所在 1.写了StyleSheet的QString并进行了设置 this->setStyleSheet(styleSheet_M);2.注释后&#xff0c;将StyleSheet换到UI form里去&#xff0c;然后又手动清理了UI form里的StyleSheet 重新使用代码设置&#xff0c;此时代码设置失效了 二、根本解决 1.手动从…...

Unity AnimationClip详解(1)

【动画片段】 前文我们介绍了骨骼动画&#xff0c;在Unity中骨骼动画的部分静态数据存储在SkinedMeshRender中&#xff0c;而另一部分动态的关键帧数据就是存储在AnimationClip中的。 关键帧数据来自与FBX、OBJ等动画模型文件&#xff0c;可以在动画导入后的Animation选项卡中…...

在这12种场景下会使Spring事务失效--注意防范

在某些业务场景下&#xff0c;如果一个请求中&#xff0c;需要同事写入多张表的数据&#xff0c;但为了保证操作的原子性&#xff08;要么同事插入数据成功&#xff0c;要么同事插入失败&#xff09;&#xff0c;例如&#xff0c;当我们创建用户的时候&#xff0c;往往会给用户…...

SOPC:Nios II Processor -> Vectors

Reset Vector——复位向量 Exception Vector——执行向量 两个向量地址都存储着程序 1.Reset Vector 当FPGA进行复位时&#xff0c;FPGA就重新开始执行程序&#xff0c;这时就需要从EPCS中读取程序。由于FPGA的程序存放在EPC…...

golang学习笔记11——Go 语言的并发与同步实现详解

推荐学习文档 基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总golang学习笔记01——基本数据类型golang学习笔记02——gin框架及基本原理golang学习笔记03——gin框架的核心数据结构golang学习笔记04——如何真正写好Golang代码&…...

关于汽车加油是加200还是加满的思考

车子快开了1万公里了&#xff0c;每个月保险会送一个200-15的加油优惠券&#xff0c;所以之前一直是每次加200的习惯&#xff0c; 最近突然觉得经常去加油很麻烦&#xff0c;而且很浪费时间&#xff0c; 需要重新评估一下&#xff0c; 一次加200 or 一次加300 or 一次加满&am…...

C# 去掉字符串最后一个字符的5种方法

C# 去掉字符串最后一个字符的 5 种方法 &#xff08;1&#xff09;Substring string original "Hello!"; string result original.Substring(0, original.Length - 1); Console.WriteLine(result); // 输出: Hello &#xff08;2&#xff09;Remove string o…...

[Redis] Redis中的String类型

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…...

Transiting from CUDA to HIP(三)

一、Workarounds 1. memcpyToSymbol 在 HIP (Heterogeneous-compute Interface for Portability) 中&#xff0c;hipMemcpyToSymbol 函数用于将数据从主机内存复制到设备上的全局内存或常量内存中&#xff0c;这样可以在设备端的内核中访问这些数据。这个功能特别有用&#x…...

基于SpringBoot+Vue+MySQL的垃圾分类回收管理系统

系统展示 用户界面 管理员界面 系统背景 二十一世纪互联网的出现&#xff0c;改变了几千年以来人们的生活&#xff0c;不仅仅是生活物资的丰富&#xff0c;还有精神层次的丰富。在互联网诞生之前&#xff0c;地域位置往往是人们思想上不可跨域的鸿沟&#xff0c;信息的传播速度…...

游戏的3C,Al

在游戏开发中&#xff0c;“3C”通常指的是三个重要的组成部分&#xff1a;Character&#xff08;角色&#xff09;、Camera&#xff08;摄像机&#xff09;和Control&#xff08;控制&#xff09;。这三者对于创建沉浸式和流畅的游戏体验至关重要。而AI&#xff08;人工智能&a…...

深度学习基础案例4--运用动态学习率构建CNN卷积神经网络实现的运动鞋识别(测试集的准确率84%)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 前几天一直很忙&#xff0c;一直在数学建模中&#xff0c;没有来得及更新&#xff0c;接下来将恢复正常这一次的案例很有意思&#xff1a;在学习动态调整…...

tekton pipeline workspaces

tekton pipeline workspace是一种为执行中的管道及其任务提供可用的共享卷的方法。 在pipeline中定义worksapce作为共享卷传递给相关的task。在tekton中定义workspace的用途有以下几点: 存储输入和/或输出在task之间共享数据secret认证的挂载点ConfigMap中保存的配置的挂载点…...

[git操作] git创建仓库上传github报错

操作流程如下 使用 git init使用 git remote add origin 项目ssh链接git add . 报错如下 Bus error (core dumped)然后执行任何别的操作都会报错&#xff1a; fatal: Unable to create path .. /.git/index.lock: File exists.Another git process seems to be running in …...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念&#xff1a; 1&#xff09;ZYNQ全称&#xff1a;ZYNQ7000 All Pgrammable SoC 2&#xff09;SoC:system on chips(片上系统)&#xff0c;对比集成电路的SoB&#xff08;system on board&#xff09; 3&#xff09;ARM&#xff1a;处理器…...

[特殊字符] 手撸 Redis 互斥锁那些坑

&#x1f4d6; 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作&#xff0c;想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁&#xff0c;也顺便跟 Redisson 的 RLock 机制对比了下&#xff0c;记录一波&#xff0c;别踩我踩过…...

Mysql故障排插与环境优化

前置知识点 最上层是一些客户端和连接服务&#xff0c;包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念&#xff0c;为通过安全认证接入的客户端提供线程。同样在该层上可…...

视觉slam--框架

视觉里程计的框架 传感器 VO--front end VO的缺点 后端--back end 后端对什么数据进行优化 利用什么数据进行优化的 后端是怎么进行优化的 回环检测 建图 建图是指构建地图的过程。 构建的地图是点云地图还是什么信息的地图&#xff1f; 建图并没有一个固定的形式和算法…...

分布式计算框架学习笔记

一、&#x1f310; 为什么需要分布式计算框架&#xff1f; 资源受限&#xff1a;单台机器 CPU/GPU 内存有限。 任务复杂&#xff1a;模型训练、数据处理、仿真并发等任务耗时严重。 并行优化&#xff1a;通过任务拆分和并行执行提升效率。 可扩展部署&#xff1a;适配从本地…...

Java严格模式withResolverStyle解析日期错误及解决方案

在Java中使用DateTimeFormatter并启用严格模式&#xff08;ResolverStyle.STRICT&#xff09;时&#xff0c;解析日期字符串"2025-06-01"报错的根本原因是&#xff1a;模式字符串中的年份格式yyyy被解释为YearOfEra&#xff08;纪元年份&#xff09;&#xff0c;而非…...