Kotlin 中的对象和实例

Objects and Instances in Kotlin

任何人都可以解释变量“a”如何被赋予类型 of a class name "A" 而不是传统的 " 原始 类型"?

例如:

Class A (var: string) {

}

Class B {
var a : A = A ("string")

}

fun main (args: Array<String>){
var b = B ()
prinln(b.a)

}

这里的目标是为“Class B”的实例赋予“[=27=”的属性]ClassA”。我需要理解为什么必须这样做,以及“class”如何变成 作为变量“type”。

您的代码不是有效的 Kotlin 代码。它有语法错误。以下是正确的版本:

class A (var string: String) {

}

class B {
    var a : A = A ("string")

}

fun main (args: Array<String>){
    var b = B ()
    println(b.a)

}

解释如下:

  • class 关键字以小写 c 开头,因为 class 而不是 Class
  • 参数需要标识符,然后键入:var param: String
  • 打印方法拼写错误。它是 println 而不是 prinln

关于您的问题:

In Java, we have two types of type—primitive (e.g. int, long, boolean, byte, char, etc.) and reference types (e.g. array, String). Java uses wrappers (like java.lang.Integer) to make primitive types behave like objects. But in Kotlin, there is no such distinction. Instead, all types are objects.

更多信息:Kotlin From Scratch: Variables, Basic Types, and Arrays

您可以使用 class 定义您自己的对象。这里有一个完整的参考理解:https://kotlinlang.org/docs/reference/classes.html

在 class B 中,您正在实例化 class A 并将其分配给变量 a。在这种情况下,变量 a 是 class B.

的成员/ 属性

Kotlin 中没有原始类型(只有 Java);每种类型都派生自可空对象类型 Any?。 Class B 通过 inheritance.

的通用 OO 机制接收 class A 的字段和方法