Каждый класс Java расширяет класс Object автоматически, даже если вы явно не объявляете его, а класс Object
содержит метод toStrong()
, который используется для получения String
, представляющего экземпляр класса Object
.Метод toString()
класса Object
реализован для отображения ссылки на объект, но это не фактическая ссылка (это просто текст, содержащий информацию о ссылке).
Однако этот метод может бытьпереопределяется его подклассом, и это то, что происходит с классом String
.Метод toString()
класса String
переопределяется для представления содержимого, которое содержит объект String
.
Теперь, когда вы используете методы print
или println
для объекта, он вызываетtoString()
метод объекта и выведите эти значения.
В вашем случае класс test
не переопределил метод toString()
, поэтому он выводит любое значение, которое дает Object.toString()
.