首先,在Java中有一个上帝Object类,是所有类的父类,神一样的存在。以此对神所拥有的方法我们都必须很重视。toString方法就是其中之一;
每一个类都有一个tostring方法,你愿意或者不愿意它就在那里不来不去。
如果不加以覆盖,调用一个对象的toString方法会返回一个描述该对象的字符串,默认情况下返回一个由该对象所属的类名,at符号@、以及该对象十六进制形式的内存地址组成的字符串。一般这个字符串的信息量,作用不是很大,我们通常覆盖toString方法为了代表该对象的描述性字符串信息。
我的信条:倚马千言不若代码一行,有代码有真相;- /**
- * 演示实例:覆写toString方法
- * 结果表明:通过覆写toString方法可以获得一个自定义的描述该对象的信息。
- * 试想一下,当你的类中覆写了一个toString方法,别人通过对象调用这个方法就会知道,你这个对象的有用信息,而不是一个含义@字符16进制字符串。
- */
- public class DemoToString {
- public static void main(String[] args) {
- Circle circle = new Circle();
- Dog dog = new Dog();
-
- System.out.println(circle.toString());//显示结果:这是一个圆,它的半径是1.0
- System.out.println(dog.toString());//显示结果:Dog@17e4ca
- }
- }
- //定义一个圆类,其中覆写了toString方法
- class Circle{
-
- double radius;
-
- Circle(){
-
- radius = 1.0;
- }
-
- public String toString(){
-
- return "这是一个圆,它的半径是"+radius;
- }
- }
- //定义狗类,其中没有覆写toString方法
- class Dog{
-
- String color = "yellow";
-
- public String eat(){
-
- return "它要吃骨头";
- }
- }
复制代码 |