【问题标题】:Kotlin make me crash! Is it a Function Or a Class when I read a code?Kotlin 让我崩溃!当我阅读代码时,它是函数还是类?
【发布时间】:2017-11-09 02:01:43
【问题描述】:

我是 Kotlin 的初学者,Kotlin 有很多省略的代码。当我阅读一些示例代码时,它让我崩溃。

var map=HashMap()

我无法判断 HashMap() 是函数还是类。我必须通过 Android Studio 的提示来判断它。你有简单的方法吗?

如果我用java,代码风格会不一样。

函数:映射map=myFunction()

类: Class myClass=new Class()

【问题讨论】:

标签: kotlin


【解决方案1】:

首先,如果按照Java命名转换,类是PascalCase,函数是camelCase。

第二,没关系。创建一个新对象只是一个返回对象的构造函数。它与一个函数返回一个对象没有什么不同。

【讨论】:

    【解决方案2】:

    我无法判断 HashMap() 是函数还是类

    不要认为这是classfunctionHashMap() 是一个构造函数,它实际上是一个返回对象实例的方法(函数)。所以这里真的不需要new 关键字,它使代码更干净。

    您可以根据名称本身(名称的大小写)来识别它是函数还是构造函数。

    【讨论】:

    • 谢谢!您是说 Kotin 库中的函数名称和构造函数名称不同吗?比如类是PascalCase,函数是camelCase。
    • 这个案例在 Kotlin 中没有强制执行。这与Java中的相同。我们需要命名以大写字母开头的类和以小写字母开头的函数/方法。我的观点是构造函数是一个方法,所以我们有一个通用的方法来调用一个方法,不像 java 我们需要在构造函数前面使用new。 Kotlin 刚刚删除了这种冗余。
    猜你喜欢
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 2018-01-07
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    相关资源
    最近更新 更多