zoukankan      html  css  js  c++  java
  • Java Object类中toString方法的重写

    Object类中的tostring方法的:

    当我们输出一个对象时,实际是输出的是这个类中的tostring方法,是一个地址值,而不是类中的属性。
    
    • 1

    一:子类没有重写Object类中的toStrinng方法时的输出

    public class ToStringUse {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		A1 a1=new A1(12,"chentao");
    		System.out.println(a1.toString());//此时子类A1没有对根父类Object类中的toString没有进行重写
    	}
    	class A1{
    	int age;
    	String name;
    	A1(int age,String name){
    	this.age=age;
    	this.name=name;
    	}
    }
    	
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    输出结果

    polymorphism.A1@28a418fc //输出的是对象的地址值,而非属性
    
    • 1

    二:在子类中重写toString方法,使得输出类中的属性

    public class ToStringUse {
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		A1 a1=new A1(12,"chentao");
    		System.out.println(a1.toString());//此时的A1类中已经重写了Objiect类中的toString方法
    	}
    class A1{
    	int age;
    	String name;
    	A1(int age,String name){
    	this.age=age;
    	this.name=name;
    	}
    
    @Override//方法的重写
    	public String toString() {
    		return "A1[name="+name+","+"age="+age+"]";
    	}
    	}}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    输出结果:

    12 chentao  //输出的是类中的属性
    
    • 1

    关键点注意:

    • 在Java语法机制内,String类已经对Object类中的toString方法进行过重写,使得输出类中的属性。
    • Date类,也重写了toString方法,使得输出值为类中的属性

    原文章:https://blog.csdn.net/weixin_46351306/article/details/112101327

  • 相关阅读:
    Ubuntu 下Apache安装和配置
    MariaDB二进制包简单安装部署
    Ubuntu下MongoDB的安装和使用
    Linux文件类型及目录配置
    centos7下挂载U盘和移动硬盘
    详解 比特(位,bit),字节(Byte),字符的区别 *(转)
    Socket使用及简单实例
    缓存
    字体小图标记录
    大流量下的兜底容灾方案
  • 原文地址:https://www.cnblogs.com/tfil/p/14228138.html
Copyright © 2011-2022 走看看