zoukankan      html  css  js  c++  java
  • Java的Object类及equals()方法与toString()方法

    equals():

        boolean(返回值类型)        equals(Object  obj);形参传的是obj类型,不管你要比较的对象是什么,都可以定义为object的子类,用多态进行向上转型,当需要用子类独有的功能时,进行向下转型。

        ==当两边是基本数据类型时,比较的是是值;

        ==当两边是引用数据类型时,比较的是地址。

        public boolean  equals   (object obj){

             if(obj==null){

                  return  false;

                    }

             if(obj==this){

                  return  true;

                    }

              //向下转型

                if(obj  instanceof  Person){

                   Person p=(Person)obj;

                    return  this.name.equals(p.name)&&this.age==p.age;    多态(obj访问name访问不到,多态的特点父类有成功,没有失败) 因为name属性是String类型,所以需要用equals方法, 而String类型早已经被jdk写好了。                

                            }

                 return  false;

                        }

        equals()方法用来比较引用数据类型的内容,但对于自己写的类成员变量的内容,需要自己重写equals()方法。

    toString()方法:

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

        当直接打印一个对象时,默认使用toString()方法。

        自己定义的类重写toString()方法:

          @Override
              public String toString() {
                  return name+"name="+age+"age=";
                  }

        早已存在的类的toSring()重写方法:

          public String toString() {
             return "Person [name=" + name + ", age=" + age + "]";
          }

  • 相关阅读:
    合并排序二
    合并排序
    理解Windows消息循环机制
    直接插入排序
    关于typedef的用法总结
    迭代器的抽象
    C++基础--malloc和new的区别
    C++基础--sizeof和strlen的区别
    C++ VS编译问题--LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    SSL--Windows下生成OpenSSL自签证书
  • 原文地址:https://www.cnblogs.com/maxuefeng/p/13753508.html
Copyright © 2011-2022 走看看