Java---Object类与方法

2018-07-25  本文已影响0人  G_R_Cen

Object类

object类的方法

equals :

1.继承Object中的equals方法时,比较的是两个引用是否指向同一个对象

  1. 子类可以通过重写equals方法的形式,改变比较的内容
    boolean flag = one.equal(two);
    System.out.println("one 和 two 的引用比较:" + flag);
    System.out.println("one 和 two 的引用比较:" + (one == two));
    //输出结果为两个都是false;
    public boolean equals(Animal obj){
    //对于对象是否为空的判断很有必要
        if(obj == null)
            return false;
        if(this.getName().equals(obj.getName()) && (this.getMoth() == obj.getMoth())
            return true;
        else 
            return false;
    }
  1. String使用equals方法和==分别比较的是什么?(转)

  2. 子类中重写equals方法


    /**
     * 对equals方法进行重写,判断两个对象内容是否相等
     * 1.判断传入的Object对象是否为空,若空则返回false
     * 2.定义一个Animal的临时变量temp,将Objec对象强转为Animal类型的对象
     * 3.判断两个对象的两个成员的值是否相等
     */
    public boolean equals(Object obj){ //将Object类 对象名,当作一种Object的参数
        if(obj==null)
            return false;
        Animal temp=(Animal)obj;
        if(this.getName().equals(temp.getName()) && (this.getMonth()==temp.getMonth()))
                return true;
        else
            return false;
    }
    
    /*
     * 对上面的方法进行重载
     * 防止传入的参数不是Object类型的对象
     * 此时传入的参数肯定是Object类型,因为Animal类是Object的子类。
     */
    public boolean equals(Animal obj){ //同理这是一种Animal类型的参数
        if(obj==null)
            return false;
        if(this.getName().equals(obj.getName()) && (this.getMonth()==obj.getMonth()))
                return true;
        else
            return false;
    }

toString

  1. 输出对象名时,默认调用类中的toString方法
  2. 继承Object中的toString方法时,输出对象的字符串表示形式:类型信息+@+地址信息
    System.out.println(one.toString());
    System.out.println(one);
    System.out.println(str); 
    //输入String类型的是,是其内容输出

  1. 子类可以通过重写toString方法的形式,改变输出的内容以及表现形式
上一篇下一篇

猜你喜欢

热点阅读