Kotlin学习路(四):静态方法

本文介绍了Kotlin中模拟静态方法的四种方式:单例模式、companion object、注解@JVMStatic以及顶层方法。Kotlin本身不支持静态方法,但可以通过这些方式实现类似功能。例如,companion object提供了类内类似静态方法的调用,而添加@JVMStatic注解的方法在Java中会被编译为静态方法。
摘要由CSDN通过智能技术生成

<本文学习郭神《第三行代码》总结>

在Java中申明静态方法,只需要加入关键字static就可以了

public class Util{
	public static void funAction(){
		print("静态方法")
	}
}

在上述代码中fun()就是一个静态方法,在调用该方法时,可以直接调用Util.funAction()。
但是在Kotlin中极度弱化了静态方法这个概念,Kotlin中并没有直接定义静态方法的关键字,但是提供了一些其他的语法支持这种特性。

1、单例模式

通过单例模式可以将上述代码就可以修改成:

object Util{
	fun funAction(){
		print("静态方法")
	}
}

这里funAction并不是静态方法,但是仍然可以通过Util.funAction()调用。

2、companion object

使用单例模式会将类中所有方法全部变成类似于静态方法的调用方式,这种方法并不能满足更多需求,所以这里使用companion object。
所以,上述代码就可以修改成:

class Util{
	fun funAction(){
		print("static fun")
	}
	companion object {
		fun funAction2() {
			print("static fun2")
		}
	}
}

这里首先要将Util改成一个普通类,funAction需要实例化才能调用,funAction2可以直接调用Util.f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值