为什么可以在Kotlin的类外部编写函数?
我不明白为什么可以在Kotlin的类外编写函数?这是一个好习惯吗?
例如,在Kotlin中可以在我的MainActivity
课外编写一个函数:
fun hello(){}class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
hello()
}
}
在Java中,这是不可能的!那不是面向对象语言正常工作的方式,对吗?
在文档中,他们讨论了经典函数的 函数和在类或对象内部定义的函数的 ,但是他们没有解释何时使用一个或另一个更好。
回答:
在Java中,这是不可能的!那不是面向对象语言正常工作的方式,对吗?
稍停片刻,然后重新考虑Java静态方法的性质。类应该是对象的蓝图,描述它们的行为和状态。但是您可以调用静态方法而无需创建任何实例。
这如何适应面向对象的情况?静态方法如何“属于”其声明的类?
实际上,静态方法是Java中的一种技巧,它们污染并滥用了类的OOP概念。但是这些年来,您已经习惯了它们,所以您不再有这种感觉了。
从概念上讲,静态方法是顶级函数,Java使用其声明类的名称作为其命名空间。与此相反,Kotlin允许您声明顶级函数,而不会将类误用于命名空间。
以上是 为什么可以在Kotlin的类外部编写函数? 的全部内容, 来源链接: utcz.com/qa/407067.html