• java10-2 toString()方法



    public String toString():返回该对象的字符串表示。

      Integer类下的一个静态方法:
        public static String toHexString(int i):把一个整数转成一个十六进制表示的字符串
          这个信息是没有任何意义的。所以,建议所有子类都重写该方法。
          怎么重写呢?
          把该类的所有成员变量值组成返回即可。
            重写的最终版方案: 就是自动生成toString()方法。从source里面直接生成

        注意:
          直接输出一个对象的名称,其实就是调用该对象的toString()方法。
           

    同个包中创建2个类:

    第一个:

     1 public class Student {
     2 private String name;
     3 private int age;
     4 
     5 public Student() {
     6 super();
     7 }
     8 
     9 public Student(String name, int age) {
    10 super();
    11 this.name = name;
    12 this.age = age;
    13 }
    14 
    15 public String getName() {
    16 return name;
    17 }
    18 
    19 public void setName(String name) {
    20 this.name = name;
    21 }
    22 
    23 public int getAge() {
    24 return age;
    25 }
    26 
    27 public void setAge(int age) {
    28 this.age = age;
    29 }
    30 
    31 @Override
    32 public String toString() {
    33 return "Student [name=" + name + ", age=" + age + "]";
    34 }
    35 // 重写to.String方法,快捷方式:右键 → Source → 点击有to String()
    36 //调用出自己想要得到的字符串信息.到时候直接用System.out.println(s.toString());
    37 // @Override
    38 // public String toString() {
    39 // return super.toString();
    40 // return "hello";
    41 // return "姓名:" + name + ",年龄:" + age;
    42 // }
    43 
    44 
    45 }

    第二个:

     1 public class StudentDemo {
     2 public static void main(String[] args) {
     3 Student s = new Student();
     4 System.out.println(s.hashCode());
     5 System.out.println(s.getClass().getName());
     6 System.out.println("--------------------");
     7 System.out.println(s.toString());// cn.itcast_02.Student@42552c
     8 System.out.println("--------------------");
     9 // toString()方法的值等价于它
    10 // getClass().getName() + '@' + Integer.toHexString(hashCode())
    11 // this.getClass().getName()+'@'+Integer.toHexString(this.hashCode())
    12 
    13 // cn.itcast_02.Student@42552c
    14 // cn.itcast_02.Student@42552c
    15 
    16 System.out.println(s.getClass().getName() + '@'
    17 + Integer.toHexString(s.hashCode()));
    18 
    19 System.out.println(s.toString());//Student [name=null, age=0] 重写了
    20 
    21 // 直接输出对象的名称
    22 System.out.println(s);//Student [name=null, age=0] 重写了
    23 
    24 }
    25 }
    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
  • 相关阅读:
    在Windows QT下使用ZeroMQ
    libpng warning: iCCP: known incorrect sRGB profile告警处理
    qt 程序发布
    Qtcreator 之中文目录
    windows下kafka配置入门 示例
    CentOS-7安装Mysql集群
    zookeeper 集群安装(单点与分布式成功安装)摘录
    Linux下安装Redis2.6.17
    Hadoop集群Hadoop安装配置
    lvs/dr+keepalived应用测试实施文档
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5870121.html
Copyright © 2020-2023  润新知