Object类九大方法之toString方法

简介: Object类九大方法之toString方法

Object类九大方法之toString方法



class Apple{
    private String color;
    private double weight;
    private String name;
    public Apple(){
    }
    public Apple(String name){
        this.name=name;
    }
}
public class ToStringTest{
    public static void main(String[] args){
        Apple p=new Apple("张三");
        //-下面两个输出结果完全一致,
        //-虽然输出的是Apple类的实例对象
        //-其实输出的是Object类的toString()方法
        //-可以用重写Object类toString()方法的这种方式来给对象写一个"自我描述"
        System.out.println(p);
        System.out.println(p.toString());
    }
}

输出结果:

image.png

针对上面的输出结果进行分析:


1.System.out的print()方法只能在控制台上输出字符串,而Apple类实例是一个在内存中的对象,当用这种方法输出对象时,实际上输出的是Object类中的toString()方法返回值.


2.toString()方法是Object类里的一个实例方法,所有的java类都是Object的子类,所以所有java对象都有toString()方法.


3.toString()方法是一个"自我描述"的方法,当输出某实例对象时,可以通过重写自定义等方式为对象输出自我的描述信息.


4.Object类的toString()方法默认返回该对象实现类的"类名+@+hashcode"值,这个返回值不能实现自我描述功能,所以需要重写Object类的toString()方法来实现.如下;

class Apple{
    private String color;
    private double weight;
    private String name;
    public Apple(){
    }
    public Apple(String name){
        this.name=name;
    }
    public Apple(String color,double weight){
        this.color=color;
        this.weight=weight;
    }
    //-重写Object类的toString()方法
    public String toString(){
        return "这是Apple类,里面有一个苹果,颜色是:"+this.color+",重量是:"+weight;
    }
}
public class ToStringTest{
    public static void main(String[] args){
        Apple p=new Apple("红色",3.2);
        System.out.println(p);
    }
}

运行结果:

image.png

目录
相关文章
|
4月前
|
JavaScript 前端开发
【面试题】 JS手写ES6的Object.create方法
【面试题】 JS手写ES6的Object.create方法
|
2月前
|
设计模式 Java 调度
多案例理解Object的wait,notify,notifyAll与Thread的sleep,yield,join等方法
多案例理解Object的wait,notify,notifyAll与Thread的sleep,yield,join等方法
44 1
|
10天前
|
XML JSON Java
作为所有类的顶层父类,没想到Object的魔力如此之大!
在上一篇博文中我们提到了Java面向对象的四大特性,其中谈及“抽象”特性时做了一个引子,引出今天的主人公Object,作为所有类的顶级父类,Object被视为是James.Gosling的哲学思考,它高度概括了事务的自然与社会行为。
50 13
|
17天前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
46 9
|
2月前
|
存储 设计模式 Python
Python中的类(Class)和对象(Object)
Python中的类(Class)和对象(Object)
30 0
|
2月前
|
JavaScript
JS之Object.defineProperty方法
JS之Object.defineProperty方法
|
4月前
|
存储 JavaScript 前端开发
【JavaScript】<面向对象Object>函数方法&对象创建&原型对象&作用域解析
【1月更文挑战第17天】【JavaScript】<面向对象Object>函数方法&对象创建&原型对象&作用域解析
|
4月前
|
Python
Python学习 -- 根类object
Python学习 -- 根类object
17 0
|
4月前
|
JavaScript 前端开发
如何巧妙使用`Object.keys`方法将`JS`的一个对象的特定的值赋值给另外一个对象
如何巧妙使用`Object.keys`方法将`JS`的一个对象的特定的值赋值给另外一个对象
17 0
|
7月前
|
安全 Java API
Java的第八篇文章——Object类、String类和StringBuilder类
Java的第八篇文章——Object类、String类和StringBuilder类