0
Я думал, что могу вызвать методы класса, как только я создал объект этого класса через объект-компаньон. Но я не могу этого сделать. Ниже мой код:Переопределить метод toString не вызывается из объекта Companion
class Employee(val id: Int, val initialBalance: Int) {
val message = println("Object created with Id: " + id + " balance: " + initialBalance)
def printEmployeeDetails = "Id: " + id + " InitialBalance: " + initialBalance
override def toString = "Id: " + id + " InitialBalance: " + initialBalance
}
object Employee {
private var id = 0
def apply(initialBalance: Int) {
new Employee(newUniqueId, initialBalance)
}
def newUniqueId() = {
id += 1
id
}
}
object testEmployee extends App {
val employee1 = Employee(100)
employee1.printEmployeeDetails //getting error, why?
println(employee1) // This line is printing(), why?
val employee2 = Employee(200)
println(employee2) // This line is printing(), why?
}
Друзья, вы можете помочь мне понять, почему он ведет себя, как это? Благодарю.
Что вы имеете в виду со спутником? – Rollerball
Жаль, что это должен быть сопутствующий объект –