欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

java-toString的调用,java-toString调用

来源: javaer 分享于  点击 3620 次 点评:21

java-toString的调用,java-toString调用


package com.car.bbs.util;

/**
 * Created by wangjianxin on 2017/2/28.
 */
public class test7 {
    static class WaterSource{
        private String s;
        WaterSource(){
            System.out.println("WaterSource()");
            s = "Consrtucted";
        }
        public String toString(){
            return s;
        }

    }
    public static class SpinklerSystem{
        private String valve1,valve2,valve3,valve4;
        private WaterSource source = new WaterSource();
        private int i;
        private float f;
        public String toString(){
            return "valve1="+valve1+"valve2="+valve2+"valve3="+valve3+"valve4="+valve4+
                    "i="+i+"f="+f+"source="+source;
        }
    }
    public static void main(String args[]){
        SpinklerSystem spinklerSystem = new SpinklerSystem();
        System.out.println(spinklerSystem);
    }
}

输出结果:WaterSource()
valve1=nullvalve2=nullvalve3=nullvalve4=nulli=0f=0.0source=Consrtucted

在上述中有两个类都有toString方法,当编译器需要一个String而你却只有一个对象时,该方法就会被调用

在SpinklerSystem.toString方法中有"source= "+source编译器知道你想要一个String对象,要把source转化为String。

说白了将String和对象相加(“String”+对象)需要将对象转化为String,然后调用对象的toString方法。

但是有人就会想了,如果没有toString方法呢,结果看一下

WaterSource()
valve1=nullvalve2=nullvalve3=nullvalve4=nulli=0f=0.0source=com.car.bbs.util.test7$WaterSource@2f8c5b4f

一目了然。

当我们创建的类需要这样的行为时候,就可以编写一个toString方法即可。

相关文章

    暂无相关文章

用户点评