Circle c = new Circle(colour, radius);
System.out.println(c);
现在考虑一个类Circle
,当我们在类println
中拥有toString()
方法时以及没有一个方法时,Circle
语句将做什么。
答案 0 :(得分:2)
toString()
是Object
类的方法,并且该类是所有类的超类(如果您创建一个不扩展任何其他类的新类,则它将隐式继承自Object
请记住,Java不支持多重继承,即,类只能具有一个直接超类。如果您在继承类中重写toString()
,则System.out.println()
将隐式调用您的实现。如果不重写此方法,还将调用toString()
类,但是将使用Object
类的默认实现。 Object::toString
的默认实现返回:
Object类的toString方法返回一个字符串,该字符串包括该对象是其实例的类的名称,符号字符“ @”以及该对象的哈希码的无符号十六进制表示形式。换句话说,此方法返回的字符串等于: getClass()。getName()+'@'+ Integer.toHexString(hashCode())