当前位置:  技术问答>java相关

紧急: think in java里6.1章里的第二程序(原码见内)执行后,最后一行为什么会显示castille = Constructed

    来源: 互联网  发布时间:2015-03-03

    本文导语:  //: Bath.java // Constructor initialization with composition class Soap {   private String s;   Soap() {     System.out.println("Soap()");     s = new String("Constructed");   }   public String toString() { return s; } } public class Bath {   ...

//: Bath.java
// Constructor initialization with composition

class Soap {
  private String s;
  Soap() {
    System.out.println("Soap()");
    s = new String("Constructed");
  }
  public String toString() { return s; }
}

public class Bath {
  private String 
    // Initializing at point of definition:
    s1 = new String("Happy"), 
    s2 = "Happy", 
    s3, s4;
  Soap castille;
  int i;
  float toy;
  Bath() {
    System.out.println("Inside Bath()");
    s3 = new String("Joy");
    i = 47;
    toy = 3.14f;
    castille = new Soap();
  }
  void print() {
    // Delayed initialization:
    if(s4 == null)
      s4 = new String("Joy");
    System.out.println("s1 = " + s1);
    System.out.println("s2 = " + s2);
    System.out.println("s3 = " + s3);
    System.out.println("s4 = " + s4);
    System.out.println("i = " + i);
    System.out.println("toy = " + toy);
    System.out.println("castille = " + castille);
  }
  public static void main(String[] args) {
    Bath b = new Bath();
    b.print();
  }
} ///:~


下面是该程序的输出:


Inside Bath()
Soap()
s1 = Happy
s2 = Happy
s3 = Joy
s4 = Joy
i = 47
toy = 3.14
castille = Constructed

请问最后一行为什么会显示castille = Constructed 
Soap类的构建器只是把私有的字符串变量s赋值Constructed,而并没有打印s的语句,
System.out.println("castille = " + castille);怎么会输出castille = Constructed呢?
而castille = new Soap();最后使castille得到一个什么值呢?Constructed 吗????????????

|
System.out.println("castille = " + castille);
在执行这句话的时候。。。
因为castille不是一个String.所以
castille会自动调用soap类里面的toString()方法。。。
把这个castille转变为一个String...
toString好像是Object里面的一个基本方法。。。。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 早上看到China-Pub已经有<Thinking In C++>英文第2版卖了,而且<Thinking In Java 2E>也在预告了,强烈期待中......
  • 哪里还有Think in java!答者给分,谢谢
  • Think in Java
  • 高分征集Think in java(第2版)中文电子版
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • Think in java 源码
  • 从哪能下载Thinking in java 一书中的程序代码?
  • 请问《Think in Java》的作者的网站网址是多少?
  • 考SCJP275一定要看<Thinking In Java>吗?
  • 请问哪里可以下载thinking in java 中的源代码?
  • Thinking In Java 的第一个程序问题
  • THINK IN JAVA版本问题!
  • thinking in java 中提到的一本书
  • 急需《thinking in java》电子书!!!
  • 什么地方有 Think in java 的代码下载(50分)在线等候!!!
  • 新手求助!!哪里有《THINK IN JAVA》免费下载?
  • 《think in java》出第三版了!!!!
  • think in java书店有卖吗?
  • 有人能提供THINK IN JAVA 第二版的简体中文下载吗?
  • 关于Think in Java一书


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3