Class Kotlin:如何在main函数中调用类属性并打印结果?

Class Kotlin:如何在main函数中调用类属性并打印结果?,class,kotlin,Class,Kotlin,我不熟悉编码。我试图理解Kotlin中的代码是如何工作的。今天我读了一篇关于类和继承的文章。现在我试着从下面的代码中了解一些事情: 为什么不重写copyAddress函数中的类属性? 如何打印“结果”。在main函数中,我无法理解在调用copyAddress函数时提供什么参数 这是我的代码: package Spice class Address { var name: String = "Holmes, Sherlock" var street: Stri

我不熟悉编码。我试图理解Kotlin中的代码是如何工作的。今天我读了一篇关于类和继承的文章。现在我试着从下面的代码中了解一些事情:

  • 为什么不重写copyAddress函数中的类属性?
  • 如何打印“结果”。在main函数中,我无法理解在调用copyAddress函数时提供什么参数
  • 这是我的代码:

    package Spice
    
    class Address {
        var name: String = "Holmes, Sherlock"
        var street: String = "Baker"
        var city: String = "London"
        var state: String? = null
        var zip: String = "123456"
    }
    
    fun copyAddress(address: Address): Address {
        val result = Address()
        result.name = address.name
        result.street = address.street
        return result
    }
    
    fun main(){
        val a = copyAddress(address = Spice.Address())
        print(a)
    }
    
  • 因为“地址”
    和属性未打开。这是最后一节课,所以你不能参加。
    override
    关键字用于继承(从
    接口
    开放类
    开放变量
    )类。以下是一个例子:

     open class HomeAddress{  
     open var streetName : String = ""  
     }    
    
     class Address:HomeAddress(){  
     override var streetName : String = ""  
     }
    
     fun main(){
     var address = Address()
     address.streetName = "Baker"
     println(address.streetName)
     }
    
  • fun copyAddress(address:address):address
    行表示函数返回地址类类型。我把你的代码剪了一点

    class Address {
     var streetName: String = "Baker"
     var name:String = "Holmes, Sherlock"
    }
    
    fun copyAddress(address: Address): Address {
     return address
    }
    
    fun main(){
     val a = Address()
     val myAddress = copyAddress(a)
     println(myAddress.streetName)
     println(myAddress.name)
    }
    

  • 1.因为
    Address
    的所有属性都是公共的,所以任何拥有
    Address
    实例的人都可以访问它的属性。我不确定你为什么要使用继承,因为你的代码中没有继承。如果您在
    copyAddress
    之后引用
    :Address
    ,这只是指定函数的返回类型,即
    copyAddress
    将返回一个
    地址
    。谢谢。我得到了它。