`
jackroomage
  • 浏览: 1217763 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

toString方法源码的实现过程

 
阅读更多

1、简单的说明toString的实现过程:

 

http://wenwen.soso.com/z/q148586721.htm

 

2、例子加源码说明

代码:

public class Test{

   public String toString(){

        return "这是一个方法";

   }

}

然后编写main方法,实例化这个对象,并输出这句话

 public static void main(String[] args){

      Test t = new Test();

      System.out.print(t)

}

为什么直接打印t就相当于调用toString()方法呢。

为什么Object里面有那么多方法,只调用toString()方法(或者说先调用toString())。

 

下面是解释说明:

查看原代码
在PrintStream.class中是这样实现的
public void print(Object obj) {
    write(String.valueOf(obj));
    }
 public void println(Object x) {
        String s = String.valueOf(x);
        synchronized (this) {
            print(s);
            newLine();
        }
    }
现在明白了吧,呵呵

 然后你可以再看一下String.valueof是的原带玛

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

现在知道为什么会调用toString了吧!

 

不明白,点击上面的链接。看看高手们的介绍吧!

 

 

 

 

分享到:
评论

相关推荐

    C# TCP 客户端源码实现

    以下是一个简单的C# TCP客户端源码实现: ```csharp public class TcpClientExample { private TcpClient client; public void Connect(string server, int port) { try { // 创建一个TcpClient实例,并指定...

    Java实现基于内存的搜索引擎设计和实现.zip

    在序列化过程中充分利用了成员实现的序列化反序列化方法,与在toString方法中调用成员的toString方法有异曲同工之妙 2.充分利用Java实现的API接口。比如在类Index中的getDictionary方法中,需要返回所有保存的Term,...

    java源码包---java 源码 大量 实例

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    java源码分析

    从文件片段中我们可以看到Object类的部分方法实现,包括hashCode()、equals()、toString()、wait()、notify()、notifyAll()、finalize()以及clone()等。 1. hashCode()方法是一个本地(native)方法,它返回对象的...

    java源码包2

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    关于jdk动态代理的源码剖析

    在Java开发过程中,动态代理技术是一项非常实用的技术,它可以帮助我们实现在不修改原有代码的基础上为方法增加额外的功能,比如日志记录、权限校验等。本文将深入分析JDK动态代理的工作原理及其内部实现机制。 ###...

    vue源码中的检测方法的实现

    通过深入分析和理解Vue的源码实现,开发者可以更好地把握框架的运作方式,同时也能提升自身的编程技能。对于正在使用Vue.js进行开发的开发者来说,了解和掌握这些内部机制可以使其在使用Vue进行项目开发时更加...

    Java1.6源码

    例如,`Object`类是所有Java类的父类,包含了诸如`toString()`、`hashCode()`和`equals()`等方法的实现;`String`类是不可变字符串的实现,其源码解析可以帮助理解字符串的拼接、比较等操作。 2. **集合框架**:...

    redacted-compiler-plugin:一个Kotlin编译器插件,可生成已编辑的toString()实现

    `redacted-compiler-plugin`正是一款针对Kotlin编译器设计的插件,它的主要目的是自动化生成`toString()`方法的实现,以提高开发效率并确保数据安全。 首先,让我们深入了解Kotlin编译器插件的工作原理。Kotlin...

    C# 计算器源码 实现基本功能

    `Convert.ToDouble()`函数用于将字符串转换为数字,`ToString()`方法则将数字转换为字符串。 在实际应用中,我们还需要处理可能的输入错误,例如当用户输入非数字字符时。可以使用`double.TryParse()`方法代替`...

    安卓高仿小米计算器源码,完美

    计算过程通常会封装在一个单独的类或方法中,以保持代码的清晰和可维护性。 此外,为了实现计算器的功能,开发者还需要理解安卓的资源管理,如字符串资源、颜色资源等。这些资源通常定义在`strings.xml` 和`colors....

    WPF实现字母与数字键盘源码20130904

    本篇文章提供的源码示例,标题为"WPF实现字母与数字键盘源码20130904",旨在展示如何在WPF环境中设计并实现一个集字母和数字键于一体的键盘,以便于开发者在软件开发过程中便捷地使用。 **1. 知识点概述** 该源码...

    超级 混合计算器 源码

    在C#中,`Convert.ToInt32()`和`Convert.ToString()`方法可以用于不同进制间的转换。 阶乘运算是一种特殊的数学运算,对于非负整数n,其阶乘定义为所有小于等于n且大于等于1的正整数的乘积。在C#中,可以通过循环或...

    AES加解密JAVA实现(源码)

    本文详细介绍了Java中AES加密解密的具体实现过程。通过使用Java自带的加密库,可以方便快捷地实现AES算法。需要注意的是,密钥的长度必须符合要求(本例中为128位),并且在实际应用中应避免使用固定的密钥,建议...

    java源码包3

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    EditText案例源码.zip

    这通常在`afterTextChanged()`方法内实现,通过正则表达式或其他方式判断输入是否符合预期。 5. **其他功能** EditText还有许多其他特性,如添加清除按钮(`android:drawableRight="@android:drawable/ic_menu_...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP   Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的...

    java源码包4

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    delphi_json解析格式化源码

    `TJSONObject`和`TJSONArray`分别提供了解析JSON字符串的方法,如`Parse`或`LoadFromStream`,以及生成JSON字符串的方法,如`ToString`。 解析JSON时,`TJSONObject.Parse`方法会分析一个JSON字符串并构建相应的...

Global site tag (gtag.js) - Google Analytics