为什么以及何时将@JvmStatic与伴随对象一起使用?

为什么以及何时将@JvmStatic与伴随对象一起使用?,第1张

为什么以及何时将@JvmStatic与伴随对象一起使用?

@JvmStatic
注释的行为在文档中进行了详细说明。阅读文档时,应假定它为您提供了所有重要信息,并且不存在文档中未提及的行为差异。

在这种情况下,文档说:

如果使用此批注,则编译器将在对象的封闭类中生成静态方法,并在对象本身中生成实例方法

换句话说,注释的作用是告诉编译器 生成其他方法

文档中是否提到行为或内存分配有任何差异?它不是。因此,可以安全地假设没有。

是否有偏好使用哪一个?通常,API在一个地方声明并在多个地方使用。如果从Java调用方法,则应将其声明为

@JvmStatic
,因为
@JvmStatic
在一个地方添加注释将使您可以
.Companion
在多个地方省略多个引用。

两者都像Java
static一样创建伪静态单例对象吗?这个问题没有道理,因为Java静态不会创建“伪静态单例对象”。如果在Java类中声明静态方法,然后调用此方法,则不会创建任何对象。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5164869.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-18
下一篇2022-11-18

发表评论

登录后才能评论

评论列表(0条)

    保存