JAVA的toString方法的一个小例子
Object是一个抽象类,他有很有方法,其中的toString方法是我们常见的一个方法,我们可以看这段代码
package com.com.day1;
public class ToStringTest {
static int i=1;
public static void main(String args[]){
System.out.println("love "+new ToStringTest());
ToStringTest a=new ToStringTest();
a.i++;
System.out.println("me "+a.i);
}
public String toString(){
System.out.print("I ");
return "java";
}
}
其执行结果为:

那么为什么会出现上面的运行结果?
首先我们可以在JAVA API文档中查找Object类里面的toString方法;

看不懂了?没关系,我们来实现一下:
package com.com.day1;
public class ToStringTest {
static int i=1;
public static void main(String args[]){
System.out.println(new ToStringTest());
}
}

总结:当我们直接调用对象的时候会输出 类名@对象的哈希码
再来一个测试
package com.com.day1;
public class ToStringTest {
static int i=1;
public static void main(String args[]){
System.out.println(new ToStringTest());
}
public String toString(){
return "java";
}
}

总结:当我们重写toString方法时会return返回对应的字符串
再来一个测试
package com.com.day1;
public class ToStringTest {
static int i=1;
public static void main(String args[]){
System.out.println("love "+new ToStringTest());
}
public String toString(){
return "java";
}
}

总结:toString方法可以通过+和其他类型连接起来而且是转为字符串类型连接
这样我们就有头绪了,再看这个测试
package com.com.day1;
public class ToStringTest {
static int i=1;
public static void main(String args[]){
System.out.println("love "+new ToStringTest());
}
public String toString(){
System.out.print("I ");
return "java";
}
}

总结:在输出之前会调用toString方法,解析这个方法时会先输出 I 之后再输出 love java
package com.com.day1;
public class ToStringTest {
static int i=1;
public static void main(String args[]){
ToStringTest a=new ToStringTest();
a.i++;
System.out.println("me "+a.i);
}
public String toString(){
System.out.print("I ");
return "java";
}
}

有个疑问?为何这个地方ToStringTest a=new ToStringTest()没有调用这个方法?
总结:在用System.out.println();z输出该类的时候(有点想c++cout的重载),会调用toString函数。将该类与String类拼接时也会调用该类。
JAVA的toString方法的一个小例子的更多相关文章
- java操作xml的一个小例子
最近两天公司事比较多,这两天自己主要跟xml打交道,今天更一下用java操作xml的一个小例子. 原来自己操作xml一直用这个包:xstream-1.4.2.jar.然后用注解的方式,很方便,自己只要 ...
- java连接mysql的一个小例子
想要用java 连接数据库,需要在classpath中加上jdbc的jar包路径 在eclipse中,Project的properties里面的java build path里面添加引用 连接成功的一 ...
- Vue2.x源码学习笔记-从一个小例子查看vm实例生命周期
学习任何一门框架,都不可能一股脑儿的从入口代码从上到下,把代码看完, 这样其实是很枯燥的,我想也很少有人这么干,或者这么干着干着可能干不下去了. 因为肯定很无聊. 我们先从一个最最简单的小例子,来查看 ...
- 自己(转)JAVA中toString方法的作用
JAVA中toString方法的作用 因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”. 它通常只是为了方便输出,比如System.out.print ...
- Java多线程分批发送消息的小例子
需求: 假设有10万个用户,现在节假日做活动,需要给每个用户发送一条活动短信,为了提高程序的效率,建议使用多线程分批发送. 这里值得注意的是: 每开一个线程都会占用CPU的资源,所以线程根据所需要的条 ...
- (转)Java中使用正则表达式的一个简单例子及常用正则分享
转自:http://www.jb51.net/article/67724.htm 这篇文章主要介绍了Java中使用正则表达式的一个简单例子及常用正则分享,本文用一个验证Email的例子讲解JAVA中如 ...
- 使用Trinity拼接以及分析差异表达一个小例子
使用Trinity拼接以及分析差异表达一个小例子 2017-06-12 09:42:47 293 0 0 Trinity 将测序数据分为许多独立的de Brujin grap ...
- MVVM模式的一个小例子
使用SilverLight.WPF也有很长时间了,但是知道Binding.Command的基本用法,对于原理性的东西,一直没有深究.如果让我自己建一个MVVM模式的项目,感觉还是无从下手,最近写了一个 ...
- JAVA中toString方法的作用
因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”. 它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不 ...
随机推荐
- 13.Java基础_数组内存图
单个数组内存图 new int[3]: 在堆内存里申请一块空间存储int类型的变量(初始化时值都为0) int[] array: 在栈内存申请一块内存存储堆内存里数组的首地址 array[i]: 通过 ...
- linux学习(二)linux系统的安装
Linux 安装 本章节我们将为大家介绍 Linux 的安装,安装步骤比较繁琐,现在其实云服务器挺普遍的,价格也便宜,如果直接不想搭建,也可以直接买一台学习用用,参考各大云服务器比较. 本章节以 ce ...
- getpatch
import time import os import math import sys import os,os.path,shutil import numpy as np import cv2 ...
- 关于npm(一)
npm install X: 把X包安装到node_modules目录中修改package.json运行npm install命令时,不会自动安装X npm install X –save: 把X包安 ...
- Codeforces Round #554 (Div. 2) C 数论
https://codeforces.com/contest/1152/problem/C 题意 a和b,找到k,使得lcm(a+k,b+k)最小(a,b:1e9) 题解 设gcd=gcd(a+k,b ...
- 洛谷P3206 [HNOI2010]城市建设
神仙题 题目大意: 有一张\(n\)个点\(m\)条边的无向联通图,每次修改一条边的边权,问每次修改之后这张图的最小生成树权值和 话说是不是\(cdq\)题目都可以用什么数据结构莽过去啊-- 这道题目 ...
- 第02组 Beta冲刺(1/5)
队名:無駄無駄 组长博客 作业博客 组员情况 张越洋 过去两天完成了哪些任务 初步任务分配 提交记录(全组共用) 接下来的计划 完善接口文档 还剩下哪些任务 学习软工的理论课 学习代码评估.测试 燃尽 ...
- Centos7安装percona-xtrabackup2.4和8.0版本
Percona XtraBackup是一个基于MySQL的服务器的开源热备份实用程序 ,它不会在备份期间锁定您的数据库.无论是24x7高负载服务器还是低事务量环境,Percona XtraBackup ...
- 行为驱动:Cucumber + Java - 实现数据的参数化
1.什么是参数化 实际设计测试用例过程中,我们经常会用等价类.边界值这样的方法,针对一个功能进行测试数据上的测试,比如一个输入框,正向数据.逆向数据,非法输入等等 2.Cucumber的数据驱动 同上 ...
- poj-3230 Travel
One traveler travels among cities. He has to pay for this while he can get some incomes. Now there a ...