在看Thinking in Java中的第六章复用类的第一个例题
其中在toString()方法中,
  public String toString(){
    return 
    "valve1 = " + valve1 = "\n" +
    "valve2 = " + valve2 = "\n" +
    "valve3 = " + valve3 = "\n" +
    "valve4 = " + valve4 = "\n" +
    "i = " + i + "\n" + 
    "f = " + f + "\n" + 
    "source = " + source;
    }
编译的时候也无法通过出现
SprinklerSystem.java:18: unexpected type
required: variable
found   : value
    "valve1 = " + valve1 = "\n" +
                ^
SprinklerSystem.java:19: unexpected type
required: variable
found   : value
    "valve2 = " + valve2 = "\n" +
                ^
SprinklerSystem.java:20: unexpected type
required: variable
found   : value
    "valve3 = " + valve3 = "\n" +
                ^
SprinklerSystem.java:21: unexpected type
required: variable
found   : value
    "valve4 = " + valve4 = "\n" +
                ^
4 errors
请教一下各位,有没有这样使用return语句的?
如果可以这样使用的话,为什么我不能编译通过?

解决方案 »

  1.   

    帮你改一下
     "valve1 = " + valve1  "\n" +
        "valve2 = " + valve2  "\n" +
        "valve3 = " + valve3 "\n" +
        "valve4 = " + valve4 "\n" +
        "i = " + i + "\n" + 
        "f = " + f + "\n" + 
        "source = " + source;
    把那几个等号去掉就可以了!
      

  2.   

    Ok了,顺便问一下,那个return是返回什么东西都可以么??
    是只要和对应的函数类型返回值类型对上就可以了吧
    那如果是类类型的呢?应该返回什么东西??
      

  3.   

    是的,只要和函数返回类型一致就行了,类类型的是返回this引用
      

  4.   

    根据书上解释,toString()方法是自动调用的
    能再详细解释一下,是在主方法执行到哪里后,自动执行的  public static void main(String[] args){
        SprinklerSystem sprinklers = new SprinklerSystem();
        System.out.println(sprinklers);
        }谢谢!!!
      

  5.   

    另外我还有是关于函数返回值的一个问题
    地址如下
    http://community.csdn.net/Expert/topic/4296/4296281.xml?temp=.8654596
    如果能得到理想的答案,立即揭帖
    谢谢大家的解答,非常感谢!
      

  6.   

    public static void main(String[] args){
        SprinklerSystem sprinklers = new SprinklerSystem();
        System.out.println(sprinklers);//这一句时自动调用toString()
        }