Java之初识Object类——toString方法和equalsf方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44376490/article/details/88693535

Java之初识Object类——toString方法和equalsf方法

  • 定义:JDK默认的提供的一个类,所有类默认继承Object类
    Object类是所有类的父类,使用Object类可以接收所有类的对象(还可以接收所有引用数据类型-----数组和接口)

  • 取得对象信息:toString();
    默认输出的是一个地址编码,而使用系统输出String常量时,输出的是字符串内容,本质原因在于Object类提供的toString()有没有被类覆写;

class Person{
    private String name;
    private int age;
    public Person(String name,int age){
    	 this.name = name;
   	  this.age = age;
    }
//覆写toString方法来输出对象内容
    public String toString(){
   	  return "性名为"+this.name+"年龄为"+this.age;
    } 
}

系统输出(print/println)对象时,默认调用对象的tpString()方法

  • 对象比较:equals();
    两个引用类型内容的比较
    Object源码:
    读一下这段代码你会发现这里比较的是地址,所以要用Object的equls()方法就必须覆写equals()方法;
 public boolean equals(Object obj){
     return (this == obj);
 }

覆写:

//覆写equals方法
 public boolean equals(Object obj){
 	 //判断地址是否相等
 	 if(this == obj){
  	 return true;
	 }
 	 //判断传入对象是否的Person对象
  	if(!(obj instanceof Person)){
   	return false;
  	}
 	//传入的一定是Person对象并且地址不相等
  	//向下转型,还原成Person对象
  	Person per = (Person)obj;
  	return per.name.equals(this.name)&&per.age == this.age;
 }
展开阅读全文

没有更多推荐了,返回首页