• 关于toString()方法


    /**
     * 关于toString()方法:
     *     - toString()来自于sun公司提供的Object类,其作用就是将"java对象"转换成"字符串"的形式
     *     - Object类的toString()方法的默认实现是:
     *          public String toString(){
     *              return getClass().getName() + "@" + Integer.toHexString(hashCode());
     *          }
     *          含义:调用一个Java对象的toString()方法就可以将Java对象转换成字符串来表示,
     *     - 由于默认实现不能满足现实的业务需求,今后大多数自定义类的toString()方法都需要重写,重写规则:简单、明了符合业务需求
     *
     *     - 代码:System.out.println(引用);和System.out.println(引用.toString())具有相同的功能;
     */
    public class toStringText {
        public static void main(String[] args) {
            MyDate t1 = new MyDate();
            System.out.println(t1.toString()); //不重写toString()方法的输出结果:MyDate@b4c966a
                                        //重写toString()方法的输出结果:1970年1月1日
            Student s = new Student("11111","张三");
            System.out.println(s);  //不重写toString()方法的输出结果:Student@4e50df2e
                                    //重写toString()方法的输出结果:学号:11111,姓名:张三
        }
    }
    class MyDate{
        private int year;
        private int month;
        private int day;
    //    无参构造
    
        public MyDate() {
            this(1970,1,1);  //this()的应用实例 通过当前的构造方法调用其他构造方
                             //这种语法只能出现在构造方法的第一行
        }
    
    //    有参构造方法
    
        public MyDate(int year, int month, int day) {
            this.year = year;
            this.month = month;
            this.day = day;
        }
    
    //    get and set
    
        public int getYear() {
            return year;
        }
    
        public void setYear(int year) {
            this.year = year;
        }
    
        public int getMonth() {
            return month;
        }
    
        public void setMonth(int month) {
            this.month = month;
        }
    
        public int getDay() {
            return day;
        }
    
        public void setDay(int day) {
            this.day = day;
        }
    
    //    重写toString()方法
    
        public String toString() {
            return (year + "年" + month + "月" + day + "日");
        }
    }
    class Student{
        private String no;
        private String name;
    //    有参构造
    
        public Student(String no, String name) {
            this.no = no;
            this.name = name;
        }
    //    setter and getter
    
        public String getNo() {
            return no;
        }
    
        public void setNo(String no) {
            this.no = no;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    //    重写toString()方法
    
        public String toString() {
            return "学号:" + no + ",姓名:" + name;
        }
    }
  • 相关阅读:
    UML图及在drawio中的绘制
    client-go controller-runtime kubebuilder
    OD-Model【8】:YOLOv4
    2022 年牛客多校第八场补题记录
    WPF使用HelixToolkit加载obj格式模型
    Android:安卓虚拟机(Dalvik && ART)学习
    GIS工具maptalks开发手册(四)02——渲染地图信息框之添加绘制工具 & 获取面的坐标数据信息框进行展示 & 渲染图片的两种方式
    pytorch案例代码-2
    【机器学习-黑马程序员】人工智能、机器学习概述
    碳化硅纳米线 SiC纳米线
  • 原文地址:https://blog.csdn.net/heliuerya/article/details/127944912