Print引用(对象)

0人阅读 评论(0) 收藏 举报
分类:
package reusing;
class WaterSource {
  private String s;
  WaterSource() {
    System.out.println("WaterSource()");
    s = "Constructed";
  }
  public String toString() { 
//	  return getClass().getName() + "@" + Integer.toHexString(hashCode());
	  return s;
	  }
	
}
public class SprinklerSystem {
  private String valve1, valve2, valve3, valve4;
  private WaterSource source = new WaterSource();
  private int i;
  private float f;
  public String x(){
	  return "source = " + source;
  }
  public String toString() {
    return
      "valve1 = " + valve1 + " " +
      "valve2 = " + valve2 + " " +
      "valve3 = " + valve3 + " " +
      "valve4 = " + valve4 + "\n" +
      "i = " + i + " " + "f = " + f + " "
      + "source = " + source;
  }	
  public static void main(String[] args) {
	  WaterSource ss=new WaterSource();
//    SprinklerSystem sprinklers = new SprinklerSystem();
    System.out.println(ss);
    
  }
} 

   解析:

println(引用)对象:编译器调用println方法(

public void println(Object x) {
        String s = String.valueOf(x);
        synchronized (this) {
            print(s);
            newLine();
        }
    }

println方法调用valueOf方法,(空引用则返回null)返回对象的toString方法,并调用print方法打印

public static String valueOf(Object obj) {
 return (obj == null) ? "null" : obj.toString(); }

 若无类中无重写toString方法则调用默认方法

public String toString() {

        return getClass().getName() + "@" + Integer.toHexString(hashCode());

    }


 *  若重写toString方法则打印方法的返回


若print打印的是对象(引用),调用valueOf方法(空引用则返回null)返回对象的toString方法,并打印

 public void print(Object obj) {
        write(String.valueOf(obj));
    }

/**Output:
WaterSource()  
valve1 = null valve2 = null valve3 = null valve4 = null
i = 0 f = 0.0 source = Constructed  
a
WaterSource()  
Constructed 
 * 
 */


查看评论

python:自定义对象的打印

在python中,如果不重写自定义对象的__str__方法,打印出来的对象是一串类似于的字符串。这当然不是我们想要的结果。 于是:通过对__str__方法的重写,就可以返回我们想要的数据的展示。 ...
  • DucklikeJAVA
  • DucklikeJAVA
  • 2017年06月19日 23:49
  • 3073

java--对象引用与对象的区别

在java学习中,理解对象以及对象的引用是万里长征的第一步。但是,现在大量的java学习书籍都将对象以及对象的引用混为一谈,然而实际上它们有着本质的区别。为了帮助更多的java学者更好的理解,我将自己...
  • qq_26805137
  • qq_26805137
  • 2016年10月27日 14:50
  • 8450

print对象时默认调用该对象的toString方法

public class Name {     @Override     public String toString(){         return "test";     } }...
  • fuxin0519
  • fuxin0519
  • 2014年07月02日 17:56
  • 1616

Java中对象和引用的理解

偶然想起Java中对象和引用的基本概念,为了加深下对此的理解和认识,特地整理一下相关的知识点,通过具体实例从两者的概念和区别两方面去更形象的认识理解,再去记忆。 一、对象和引用的概念: 在Java中...
  • u011389474
  • u011389474
  • 2017年01月10日 16:14
  • 2445

javascript引用对象的方法 (总结)

 介绍了javascript中引用对象的方法,一个不错的总结 ...
  • feigme
  • feigme
  • 2007年04月18日 19:15
  • 799

java-对象的引用、对象的比较

在java语言中尽管一切都可以看作对象,但真正操作标识符实质上是一个引用,那么引用究竟在java中是如何体现的呢? 语法如下: 类名  对象引用名称 比如一个book类的引用可以使用如下代码: ...
  • qq_32823673
  • qq_32823673
  • 2017年06月03日 18:48
  • 640

值对象与引用对象

概念介绍 对象与对象引用
  • u011453312
  • u011453312
  • 2014年06月03日 22:16
  • 3236

从对象的引用到对象的复制

今天是程序猿节,因此必须登CSDN看看小伙伴门都在做什么,最近工作比较忙,因此好久没上来看看了。这次想给大家讲讲对象的引用,这个东西从都大学上Java课的时候老师就一直在强调,只不过可能是老师没讲清楚...
  • dotnetstudio
  • dotnetstudio
  • 2016年10月24日 21:39
  • 884

Python中对象的引用和共享引用

在Python中先创建一个对象,然后再将变量指向所创建的对象。 对于每个对象,都有一个头部信息,在信息中就标记了这个对象的类型信息。每当一个变量名被赋予了一个新的对象,之前那个对象占用的空间就回被回收...
  • le_you_ran
  • le_you_ran
  • 2016年10月01日 19:14
  • 1155

python数字类型介绍以及创建数字值对象引用、删除数字值引用操作实例

#coding=utf8 ''' 数字类型: 数字提供标量贮存和直接访问。 它是不可更改类型,变更数字的值会产生新的对象。 Python支持多种数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点...
  • henni_719
  • henni_719
  • 2017年02月21日 08:59
  • 540
    个人资料
    等级:
    访问量: 3
    积分: 147
    排名: 0
    文章分类
    文章存档