Overriding toString method of a variable in a companion object does not work?

Here’s my code:

open class Student(val name:String, val sex:Boolean, var grade:Int){ init{ Students.add(this) } companion object{ val Students = mutableSetOf<Student>() override fun toString():String{ val students = Students.map{it->it.name}.toList().joinToString(",") return "<$students>" } } } fun main(){ Student student = Student("John",true,9) println(Student.Students) // still gets [Student@58ceff1] but not <John> } 

Why does the overriding fail?

submitted by /u/CorleonMichael
[link] [comments]