• toString()方法


    每种非基本类型的对象都有一个toString()方法。若编译器本来希望一个String,但却获得某个这样的对象,就会调用这个方法。所以在下面这个表达式中:
    System.out.println("source = " + source) ;
    编译器会发现我们试图向一个WaterSource添加一个String对象("source =")。这对它来说是不可接受的,因为我们只能将一个字串“添加”到另一个字串,所以它会说:“我要调用toString(),把source转换成字串!”经这样处理后,它就能编译两个字串,并将结果字串传递给一个System.out.println()。每次随同自己创建的一个类允许这种行为的时候,都只需要写一个toString()方法。

     1 package c06;
     2 
     3 class WaterSource {
     4     private String s;
     5     WaterSource() {
     6         print("WaterSource()");
     7         s = new String("Constructed");
     8     }
     9     
    10     public String toString() { return s; }
    11     
    12     public void print(Object o) {
    13         System.out.println(o);
    14     }
    15 }
    16 
    17 
    18 public class SprinklerSystem {
    19     private String valve1, valve2, valve3, valve4;
    20     WaterSource source;
    21     int i;
    22     float f;
    23     void print() {
    24         System.out.println("valve1 = " + valve1);
    25         System.out.println("valve2 = " + valve2);
    26         System.out.println("valve3 = " + valve3);
    27         System.out.println("valve4 = " + valve4);
    28         System.out.println("i = " + i);
    29         System.out.println("f = " + f);
    30         System.out.println("source = " + source);
    31     }
    32 
    33     public static void main(String[] args) {
    34         SprinklerSystem x = new SprinklerSystem();
    35         x.print();
    36     }
    37 }
    View Code
  • 相关阅读:
    经管-7
    均衡价格和均衡产量以及偏分求导
    点弹性系数计算
    洛谷-P5703 【深基2.例5】苹果采购
    洛谷-P1616 疯狂的采药
    洛谷-P1049 装箱问题
    洛谷-P1048 采药
    洛谷-P1064 金明的预算方案
    操作系统启动
    mybatis中使用注解查询和使用xml配置文件查询相互对应关系
  • 原文地址:https://www.cnblogs.com/fanmzdj/p/3430501.html
Copyright © 2020-2023  润新知