博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kotlin方法重载和覆写
阅读量:6910 次
发布时间:2019-06-27

本文共 1695 字,大约阅读时间需要 5 分钟。

一、很多人分不清方法的重载和方法的覆写

覆写:override是重写父类已经存在的方法
重载:Overloads是写一个与已经存在的方法的方法名相同的方法,已经存在的这个方法可以是从父类继承的,也可以是当前类已经存在的。简单说:名称相同、参数名不同的方法。

二、看一个方法重载的例子

package net.println.kotlin.chapter4import java.util.ArrayList/** * @author:wangdong * @description:方法重载 */class Overloads{
//方法名相同,参数不同 //返回值不能当区分方法是否相同 //默认参数0 //给java用的话,加 @JvmOverloads fun a(int: Int = 0):Int{ return int } fun a(string: String):Int{ return string.length }}fun main(args: Array
) { val overloads = Overloads() val int: Int = overloads.a() val integerList = ArrayList
() integerList.add(23) integerList.add(233) integerList.add(243) integerList.add(235) integerList.add(5) integerList.add(50) integerList.add(500) println(integerList) //可以有效避免java中的bug //removeAt对应的是索引 integerList.removeAt(1) //remove对应的是list的元素是5 integerList.remove(5) println(integerList)}

三、看一个方法覆写的例子

package net.println.kotlin.chapter4/** * @author:wangdong * @description: *//** * 一个类想要被继承,必须先open * 一个方法想要被覆写,也必须先open * open class Person{ *   open fun work()} *//**定义一个人的抽象类*/abstract class Person(open val age: Int){    abstract fun work()}/**定义一个工程师的类,继承人的抽象类*/class engineer(age: Int): Person(age){    override val age: Int    get() = 0    //覆写方法一定要加override关键字    override fun work() {        println("我在写代码")    }}/**定义一个医生的类,继承人的抽象类*/class doctor(age: Int): Person(age){    override fun work() {        println("我在给病人做手术")    }}fun main(args: Array
) { val engineer = engineer(23) engineer.work() println("工程师" + engineer.age) val doctor = doctor(45) doctor.work() println("医生" + doctor.age)}

转载地址:http://pkbcl.baihongyu.com/

你可能感兴趣的文章
将json返回的日期格式转换
查看>>
PHP 计算页面执行时间
查看>>
tomcat配置启动文件
查看>>
字符串转换为字节序列,字母,汉字存储结构
查看>>
c#cardview 把record 去掉,控件cardview的cardCaption标题
查看>>
一些网站
查看>>
python并发编程之IO模型
查看>>
Linux kernel parameter command line设置
查看>>
APNS远程推送证书的申请和制作——详细解析
查看>>
android 学习笔记(八)android底层学习8.1 学习makefile 走读build/core/main.mk
查看>>
字体FONT
查看>>
java开发软件的安装
查看>>
JavaWeb 之邮件发送
查看>>
Java虚拟机 - 内存模型
查看>>
mysql常用操作
查看>>
PHP FastCGI进程管理器PHP-FPM的架构
查看>>
hbase源码系列(六)HMaster启动过程
查看>>
LeetCode(5) : Longest Palindromic Substring
查看>>
mysql 配置详解
查看>>
cell自适应网络图片大小
查看>>