返回Kotlin中的类

返回Kotlin中的类,kotlin,Kotlin,因为代码中只有一个名为Wolf的类,但没有名为Wolf的变量。 我想知道是否有可能在函数中返回一个类? 如果在函数中返回一个类,那么输出是什么?在下面的代码中,调用了Wolf类的主构造函数: fun getAlphaWolf(): Wolf? { return Wolf() } 因此,getAlphaWolf返回一个全新的Wolf实例,其默认值为:Wolfhunger=10,food=meat 更新:顺便说一下,将此函数的返回类型设为null是多余的,因为新实例不能为null。在下面

因为代码中只有一个名为Wolf的类,但没有名为Wolf的变量。 我想知道是否有可能在函数中返回一个类?
如果在函数中返回一个类,那么输出是什么?

在下面的代码中,调用了Wolf类的主构造函数:

fun getAlphaWolf(): Wolf? {
     return Wolf()
}
因此,getAlphaWolf返回一个全新的Wolf实例,其默认值为:Wolfhunger=10,food=meat


更新:顺便说一下,将此函数的返回类型设为null是多余的,因为新实例不能为null。

在下面的代码中,调用了Wolf类的主构造函数:

fun getAlphaWolf(): Wolf? {
     return Wolf()
}
因此,getAlphaWolf返回一个全新的Wolf实例,其默认值为:Wolfhunger=10,food=meat


更新:顺便说一下,将此函数的返回类型设置为null是多余的,因为新实例不能为null。

如果您熟悉Java,那么此Kotlin相当于:

公共类应用程序{ 公共狼{ 回归新狼; } } 因此,在Kotlin中,您正在调用无参数构造函数。如果要返回Wolf类,也可以:

fun getAlphaWolf(): Wolf? {
     return Wolf()
}

如果您熟悉Java,那么此Kotlin相当于:

公共类应用程序{ 公共狼{ 回归新狼; } } 因此,在Kotlin中,您正在调用无参数构造函数。如果要返回Wolf类,也可以:

fun getAlphaWolf(): Wolf? {
     return Wolf()
}

虽然其他答案解释了让您困惑的语法,并将其与更熟悉的Java示例进行了比较(希望如此),但我想指出,类不能真正从方法/函数返回,因为类是一个定义;模板;需要具备的一组参数和需要实现的能力。满足类中给定定义的单个实例就是我们所称的对象。因此,示例中的getAlphaWolf方法返回一个类型为Wolf的对象,即实现类Wolf的对象。而其他答案解释了让您困惑的语法,并与更熟悉的Java示例进行了比较,我想指出的是,类实际上不能从方法/函数返回,因为类是一个定义;模板;需要具备的一组参数和需要实现的能力。满足类中给定定义的单个实例就是我们所称的对象。因此,示例中的getAlphaWolf方法返回Wolf类型的对象,即实现类Wolf的对象。