object Someclass {
fun createEmployee(): Employee {
return Employee("john", "1221")
}
}
data class Employee(val name: String, number: String)
“当我呼叫Someclass.createEmployee()
时,它每次都返回相同的雇员对象吗?”
“如果每次都返回新员工对象。如何使Someclass.createEmployee()
每次都返回相同对象?”
每次都会返回一个新对象。 Employee("john", "1221")
正在使用给定的参数调用Employee
构造函数,并返回一个新对象。
如果要每次都返回相同的对象,则需要将该对象存储在某个变量中,然后访问该变量。如下所示将使createEmployee
每次都返回同一位员工:
object Someclass {
private var employee: Employee? = null
fun createEmployee(): Employee {
if ( employee == null )
employee = Employee("john", "1221")
return employee!!
}
}
如您所见,该代码检查员工是否存在,并在必要时创建新员工。但是一旦创建了员工,则每次都返回相同的员工。