美文网首页
Java---Object类与方法

Java---Object类与方法

作者: G_R_Cen | 来源:发表于2018-07-25 21:29 被阅读0次

Object类

  • Object类是所有类的父类

  • 一个类没有extends标明继承关系,则默认继承Object类(包括数组)

  • Java中每个类都可以使用Object中定义的方法

  • 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方法的形式,改变输出的内容以及表现形式

相关文章

  • Java---Object类与方法

    Object类 Object类是所有类的父类 一个类没有extends标明继承关系,则默认继承Object类(包括...

  • 静态方法与类方法

    简单的理解就是静态方法与类方法都不需要实例就可以访问 静态方法与类方法的不同在于静态方法不能访问所在类,而类方法可...

  • python自定义功能之面向对象

    本章主要内容 类与对象 定义和使用类 类的属性和方法 类的继承 类的方法重载 总结: python中的类与对象与J...

  • 抽象类、接口、内部类总结

    抽象方法与抽象类 抽象方法与抽象类必须使用abstract修饰,有抽象方法的类只能被定义为抽象类,抽象类里可以没有...

  • 014 Python语法之类与对象

    类与对象 类 类的定义与结构 类的介绍 class关键字修饰类 init方法用于类的初始化自动调用 del方法(析...

  • python-高级面向对象

    一:类和对象: 二:魔法方法: 三:私有属性与私有方法: 四:继承与多继承: 五:单例模式 六:类方法与静态方法

  • 类数据与类方法

    static 数据成员 有一些数据用于表述类的状态。比如 Human 类,我们可以用“人口”来表示 Human 类...

  • Swift(七 方法 构造 析构)

    一、方法: 1、类是由 属性 与 方法 组成。在枚举、结构体、类内部定义的。分为 实例方法 与 静态方法 调用方式...

  • 类与对象

    1.类的定义类由方法与属性(变量)组成 方法未加上static,因为方法将由对象调用,而不是与主方法定义在一个类中...

  • 基于图论数据关联方法的目标跟踪

    目标跟踪方法包括生成类方法和判别类方法。与生成类方法最大的区别是,判别类方法分类器采用机器学习,训练中用到了背景信...

网友评论

      本文标题:Java---Object类与方法

      本文链接:https://www.haomeiwen.com/subject/xybmmftx.html