toString方法介绍与重写

简介: toString方法介绍与重写

toString方法

基本介绍

  • 默认返回:全类名+@+哈希值的十六进制,【查看object的toString方法】子类往往重写toString方法,用于返回对象的属性信息。
  • 重写toString方法,打印对象或者拼接对象时,都会自动调用该对象的toString形式。
  • 当直接输出一个对象时,toString方法会被默认的调用。

重写toString方法的必要性

未重写的打印结果

public class Stu {
    public String name;

    public Stu(String name, int age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    public int age;
    public String sex;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

测试类

public class test01 {
    public static void main(String[] args) {
        Stu stu = new Stu("bob",10,"nan");
        System.out.println(stu);
    }
}

image.png

重写后

public class Stu {
    public String name;

    public Stu(String name, int age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    public int age;
    public String sex;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    @Override
    public String toString() {
        return "Stu{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
}

image.png

相关文章
|
6月前
|
运维 NoSQL Java
系统永不宕机的核心密码:冗余、故障隔离、自动恢复全链路落地指南
本文系统阐述高可用架构三大核心支柱:冗余(消除单点)、故障隔离(阻断扩散)和自动恢复(秒级闭环)。涵盖硬件、应用、数据及地域四层冗余设计,服务、线程池、读写等六类隔离方案,以及流量摘除、熔断降级、主从切换等自动恢复实践,强调三者协同与全链路落地。
711 4
|
运维 数据可视化 关系型数据库
使用 Websoft9 运维面板部署和维护 WordPress 到底有多简单?
如何实现 WordPress 极速部署?Websoft9 通过应用商店一键安装与可视化运维管理,10 分钟完成零门槛上线。
704 1
|
存储 C语言
C语言:一维数组的不初始化、部分初始化、完全初始化的不同点
C语言中一维数组的初始化有三种情况:不初始化时,数组元素的值是随机的;部分初始化时,未指定的元素会被自动赋值为0;完全初始化时,所有元素都被赋予了初始值。
1906 2
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
1351 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
2025年春节服务公告|阿里云万网
2025年春节服务公告|阿里云万网
564 1
|
前端开发 JavaScript Android开发
Flutter 与 React Native - 详细深入对比分析(2024 年)
Flutter和React Native是两大跨平台框架,各有优缺点。Flutter性能优越,UI灵活,使用Dart;React Native生态广泛,适合JavaScript开发。
4446 6
Flutter 与 React Native - 详细深入对比分析(2024 年)
|
前端开发 UED
【专栏:HTML与CSS实战项目篇】创建一个具有复杂布局的电商详情页
【4月更文挑战第30天】构建复杂布局的电商详情页涉及页面结构规划、样式设计和交互效果实现。首先规划顶部导航栏、商品图片展示区、商品信息区、用户评价区和相关商品推荐区。在样式设计上,注重色彩搭配、字体选择、布局与间距及图片处理。交互效果包括图片放大、添加到购物车按钮、滚动监听和评论互动,以提升用户体验。实际开发中需考虑跨设备兼容性和用户体验优化。
609 5
|
安全 算法 Linux
在Linux中,什么是SSH?它是如何工作的?
在Linux中,什么是SSH?它是如何工作的?
|
域名解析 网络协议 网络架构
XBox提升下载速度的方法
XBox提升下载速度的方法
2141 1
|
存储 缓存 NoSQL
经验大分享:OHCJava堆外缓存详解与应用
经验大分享:OHCJava堆外缓存详解与应用
595 1

热门文章

最新文章