-
类
Kotlin 中使用关键字 class 声明类。
class MainActivity : AppCompatActivity() { //关键字 var 声明为可变的成员变量 var name: String = '章三' var age: String = '19' //关键字val 声明为不可变的成员变量 val TAG: String = 'MainActivity' override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) test() } //在类中定义成员函数: fun test() { var arrayLists = arrayOf("15", "68", "79", "09", "6") for ((index,value) in arrayLists.withIndex()) { Log.e("arrayLists", "index => $index \t value => $value") } } }创建Test1
class Test1 { var name: String = "张三" fun test() { } }引用
var testName = Test1() Log.e("testName", "itestName " + testName.name)输出结果:
testName: itestName 张三Kotlin set/get方法的使用
class Test1 { //name用private私有修饰,外界其他地方不准访问,隐藏细节 private var name: String = "张三" fun getName() : String{ return name } fun setName(name:String) { this.name = name } //二级构造函数,需要加前缀 constructor constructor(val name: String) //初始化代码段使用 init 关键字作为前缀 init { println("FirstName is $name") } fun test(val firstName: String) { setName(firstName) } } -
抽象类 (java的继承 extends, kotlin中(冐号):代替。Student : Base()
package com.click.kotlindome open class Base { open fun go() {} open fun loading() {} } abstract class Student : Base() { override fun go() { super.go() } override fun loading() { super.loading() } } -
嵌套类
class Test1 { //name用private私有修饰,外界其他地方不准访问,隐藏细节 private var name: String = "张三" fun getName() : String{ return name } fun setName(name:String) { this.name = name } constructor() //初始化代码段使用 init 关键字作为前缀 init { println("FirstName is $name") } fun test() { } class Text2{ fun go(name :String){ } } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) var testName = Test1() // 调用格式:外部类.嵌套类.嵌套类方法/属性 var name = Test1.Text2().go("ZHANSGAN") Log.e("testName", "itestName " + testName.getName()) Log.e("testName", "name " + name) } -
内部类(内部类使用 inner 关键字来表示,内部类会带有一个对外部类的对象的引用,可以访问外部类成员属性和成员函数)
class Test1 { //name用private私有修饰,外界其他地方不准访问,隐藏细节 private var name: String = "张三" fun getName() : String{ return name } fun setName(name:String) { this.name = name } constructor() //初始化代码段使用 init 关键字作为前缀 init { println("FirstName is $name") } fun test() { } //内部类使用 inner 关键字来表示 inner class Text2{ //// 访问外部类成员 fun fristName() = name; fun go(name :String){ } fun innerTest() { var o = this@Test1 //获取外部类的成员变量 Log.e("testName", "内部类可以引用外部类的成员,例如:" + o.getName()) } } } class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) var testName = Test1() var name = Test1().Text2().fristName() var name1 = Test1().Text2().innerTest() Log.e("testName", "itestName " + testName.getName()) Log.e("testName", "name " + name) Log.e("testName", "name1 " + name1) } } -
类的修饰符分为:访问权限修饰符和类属性修饰符
accessModifier:访问权限修饰符 ``` private // 仅在同一个文件中可见 protected // 同一个文件中或子类可见 public // 所有调用的地方都可见 internal // 同一个模块中可见 ``` classModifier: 类属性修饰符 ``` abstract // 抽象类 final // 类不可继承,默认属性 enum // 枚举类 open // 类可继承,类默认是final的 annotation // 注解类 ``` -
接口(java的实现接口 implements, kotlin中(冐号):代替。Student : NameCallBack ,NameCallBack1 实现多个实用逗号隔开)
import android.util.Log interface NameCallBack { fun setName(name: String) fun go() { Log.e("NameCallBack", "NameCallBack") } } abstract class Student : Base(), NameCallBack { override fun go() { } override fun loading() { super.loading() } override fun setName(name: String) { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } }
相关推荐
【kotlin笔记03】kotlin之面向对象、构造函数、方法重写、类的继承、抽象类和接口、常见的几种类
kotlin中定义抽象类需要使用【abstract】关键字,抽象类不能实例化,需要被子类继承,kotlin中抽象类已经具备了【open】关键字的作用,所以不需要单独再使用【open】修饰,抽象类中可以没有抽象方法,但是具有抽象方法的类,一定是抽象类。接口使用【interface】关键字进行定义,某个类实现某个接口使用【冒号】,和kotlin中的继承使用的是相同的符号,所以kotlin中接口和继承是可以写在一起的,一个类可以实现多个接口,多个接口之间使用逗号分隔,一个接口可以继承另一个接口。
Kotlin基础语法 十、接口与抽象类
一. 接口 1、 ) 接口的定义 ) 使用关键字 interface 来定义接口 )Kotlin 接口的方式可以是抽象的,也可以提供默认的实现(即方法体是可选的) )Kotlin接口的属性必须声明为抽象(不能初始化)或提供访问器实现。并且在接口中声明的属性不能有幕后字段(backing field),因此接口中声明的访问器不能引用field,var声明的可变变量的访问器依赖幕后字段。所以var属性只能是抽象的,val 属性 可以提供getter访问器 完整示例: interface MyInterfac
MMORPG网络游戏开发之任务系统的架构与设计
在网路游戏中做任务已经成为游戏很重要的一个核心功能和玩法,如何做好一个灵活可扩展的任务系统的架构与设计,今天来给大家分享一些我们的设计经验。接下来我把整个的任务系统分成以下6个模块:对于单机游戏而言,这6个模块都放在客户端直接处理,对于网路游戏而言,模块1~5实现在服务端,模块6实现在客户端。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习unity的零基础小白,也有一些正在从事unity开发的技术大佬,欢迎你来交流学习。...
Kotlin implements 的实现
上一遍博客写到kotlin 没有extends关键了,同样 kotlin中也没有 implements 关键字了, 我们要使用呢可以吧 implements 去掉 写一个 冒号:即可 先看看java的 例如我们监听用户输入字体变化的时候 然后我们 alt + enter 就是实现TextWatcher的方法了 在看看kotlin 中 这个逗号 是 多个几件...
ROS新手必看:5分钟搞定URDF小车建模(附Rviz可视化调试技巧)
本文为ROS新手提供了快速构建URDF机器人模型的实战指南。通过一个完整的两轮差速小车建模案例,详细解析了URDF的核心语法、Rviz可视化调试技巧以及常见问题排查方法,帮助初学者快速掌握ROS机器人建模与可视化调试的核心技能。
Cesium体渲染实战:从医学CT到气象数据的3D可视化全攻略
本文详细介绍了如何利用Cesium体渲染技术实现医学CT和气象数据的3D可视化。从数据预处理到交互式渲染,涵盖了DICOM和NetCDF格式的处理技巧,以及性能优化的实战策略,帮助开发者高效处理复杂的三维数据集。
Kotlin 继承和实现
Kotlin 继承与实现。
SOI LDMOS器件的Sentaurus TCAD建模与关键电学特性仿真研究
本文研究了SOI LDMOS器件的TCAD建模与电学特性仿真。通过Sentaurus TCAD平台建立了单RESURF结构的SOI LDMOS模型,详细阐述了器件结构原理和RESURF耐压机制。研究采用SDE进行几何定义和掺杂配置,在Sentaurus Device中构建了完整的物理模型体系,包括迁移率、复合和碰撞电离模型。通过系统仿真提取了器件的转移特性、输出特性和击穿特性等关键参数,分析了各参数对性能的影响规律。研究结果为功率半导体器件的仿真建模提供了规范化参考,有助于优化SOI LDMOS的性能设计。
Kotlin基础学习(八)—— 实现接口、继承父类
Kotlin入门学习
华为OD新系统机试真题 - 获取大写字母瓷砖拼出独特图案数量
华为OD机试新系统真题【获取大写字母瓷砖拼出独特图案数量】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统四月二十九号机试真题【获取大写字母瓷砖拼出独特图案数量】
【工具插件类教学】Unity翻书效果插件Book-Page Curl Pro教程
特征: • 从左到右和从右到左翻页 • 与画布缩放器 配合使用 • 可配置的自动翻转脚本 • 支持向页面 添加 UI 元素 • 支持透明页面 • 适用于“世界空间”画布
kotlin学习总结(三)——类和对象、继承、接口和抽象类
这里写目录标题一、类和对象1.1 类的声明1.2 类的构造函数1.2.1 主构造函数1.2.2 init初始化块1.2.3 次构造函数1.2.4 注意点1.3 类的实例化1.4 Getter()与Setter()1.5 可见性修饰符1.6 编译时常数1.7 延迟初始化和惰性初始化1.7.1 延迟初始化1.7.2 惰性初始化 一、类和对象 1.1 类的声明 Kotlin 中使用关键字 class 声明类 class Invoice { /*……*/ } 类声明由类名、类头(指定其类型参数、主构造函数等)以及
基于Linux的PCIe设备驱动开发入门到精通-- 11.2 锁机制与并发控制 (自旋锁、互斥锁) 11.3 性能瓶颈分析与优化建议
本文探讨Linux驱动开发中的性能优化方法论,重点聚焦并发控制与性能瓶颈分析。从锁机制选择(自旋锁、互斥锁等)到工具使用(ftrace、perf),详细介绍了定位锁竞争和CPU热点的实战步骤,包括ftrace事件跟踪和perf火焰图分析。针对常见性能瓶颈(CPU/内存/I/O/锁竞争),提出了锁粒度优化、无锁结构替换、中断处理优化等解决方案。强调性能优化需要理论结合实践,通过"假设-测量-验证"的循环持续迭代。为开发者提供了一套从问题定位到解决的完整方法论,助力开发高性能工业级驱动。
Kotlin学习(7)-类和对象之类的继承、接口
1.普通类 Kotlin如同Java一样也拥有一个超类——Any(Java是Object),Any提供了3个方法:equals()、hashCode()和toString()。Kotlin中的类默认都是不可以继承的,如果想要继承一个类则需要添加关键字"open"。 open class Fruit(var area: String = "上海") { //... } //父类Fruit已经在构造函数中声明了属性,子类就不需重复声明(不需要添加val/var) class Apple(area:
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
Kotlin学习(四)—— 类和对象,继承,覆盖,抽象类,属性和字段,接口,可见性修饰符,扩展
作者:刘某人程序员博客:http://blog.youkuaiyun.com/qq_26787115声明:未经原作者允许请勿转载一.类和对象1. 类Kotlin和java的类的声明都是一样的,用class表示,比如如果是空类的话,大括号都可以省了2.构造函数一个主构造函数和多个次要函数,主函数在类名后,如如果主构造函数没有任何注解或者可⻅性修饰符,可以省略这个 constructor 关键字。 并且主构造函数
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
【Kotlin学习】类、对象和接口——定义类继承结构
学习于《Kotlin实战》,本文讲解了Kotlin中接口、访问修饰符、可见性修饰符、内部类和嵌套类与java的区别和使用,也讲述了Kotlin中新特性:密封类
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
Kotlin类与对象完全指南:构造函数、继承、接口与嵌套类
在Kotlin函数系列的深入探索之后,我们现在转向面向对象编程的核心——类与对象。作为现代编程语言,Kotlin在保持与Java良好互操作性的同时,对传统的面向对象概念进行了现代化改进,提供了更简洁、更安全的语法和特性。Kotlin构造函数的完整体系与最佳实践继承机制的改进与open关键字的哲学接口实现与多继承冲突解决方案嵌套类与内部类的本质区别及应用场景kotlin// 最佳实践:使用主构造函数和默认参数。
Android修行手册之Kotlin-【类和对象】、【Get和Set】、【继承】、【接口】【抽象类/嵌套类/内部类】、【数据类】、【泛型】
我的军旗依然伫立在这里,你看到来吗,我的长枪依然锐利,只是不能再为你挥舞,于是我筑起来高墙,等待,等待,为你卸下的那一刻。 往期文章分享 点击跳转=>熬夜再战Android从青铜到王者-开发效率插件篇 点击跳转=>Unity粒子特效系列-龙卷风预制体做好了,unitypackage包直接用! 点击跳转=>姐姐喊我解锁套娃新技能:FairyGUI在Unity中实现List嵌套List/立体画廊等,玩出花儿来 点击跳转=>Unity新手必备5款宝藏插件–价值上千元白嫖最新版 爆肝万.
Kotlin学习(四)—— 类和对象,继承,覆盖,抽象类,属性和字段,接口,可见性修饰符,扩展...
一.类和对象 1. 类 Kotlin和java的类的声明都是一样的,用class表示,比如 class TestClass { } 如果是空类的话,大括号都可以省了 2.构造函数 一个主构造函数和多个次要函数,主函数在类名后,如 class TestClass { //主函数 class ...
Kotlin学习之路(4) 定义类与对象
终于到了Kotlin的核心篇章了,Kotlin的定义类,以及对象 接口 抽象类等等,这些知识点在Java中也是至关重要的
Kotlin 类基础
kotlin是OOP模式的语言,其中的类是对事物的特征、逻辑的综合抽象,用关键词class声明一个类。包含class name, class header, class body。 class A {} class Empty 类的基本结构:构造函数,属性,方法 构造函数 构造函数是实例化一个类时调用的api,它可以接收参数来控制对象的特征与逻辑 构造函数可以用关键词constructor声明 kotlin的类有两种构造函数,主构造函数、次构造函数 主构造函数是class header的一部
Kotlin 指南之四:类和对象
Kotlin 指南之四:类和对象
Kotlin 学习第四章,继承、接口、扩展
Kotlin 中所有类都继承该 Any 类,它是所有类的超类,对于没有超类型声明的类是默认超类: class Example // 从 Any 隐式继承 Any 默认提供了三个函数: equals() hashCode() toString() 注意:Any 不是 java.lang.Object。 如果一个类要被继承,可以使用 open 关键字进行修饰。 open class Base(p: Int) // 定义基类 class Derived(p: Int) : Base(p)
1831



被折叠的 条评论
为什么被折叠?



