• java之Object类介绍


    1、Object类是所有java类的基类

    如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类,ex:

    public class Person{

        ~~~~~

    }

    等价于

    public class Person extends Object{

        ~~~~~

    }

    2、Object类之equals方法

    ①、Object类中定义有:

      public boolean equals(Object obj)方法。

        提供定义对象是否相等的逻辑。

    ②、Objec的equals方法  定义为:x.equals(y)当x和y是同一个对象的应用时返回true,否则返回false.

    ③、J2SDK提供的一些类,如String,Date等,重写了Object的equals()方法,调用这些类的equals方法,x.equals(y),当x和y所引用的是同一类对象且属性内容相等时(并不一定是相等的对象),返回true否则返回false.

    ④、可以根据需要在用户的自定义类型中重写equals()方法。

    public class TestEquals{
        public static void main (String args[]){
            Cat cat1 = new Cat(1,2,3);
            Cat cat2 = new Cat(1,2,3);
            System.out.println(cat1 == cat2);
            System.out.println(cat1.equals(cat2    ));
            
            String s1 = new String("hello");
            String s2 = new String("hello");
            System.out.println(s1 == s2);
            System.out.println(s1.equals(s2));
            
        }
    }
    class Cat{
        int color;
        int height,weight;
        
        Cat(int color , int height , int weight){
            this.color= color;
            this.height = height;
            this.weight = weight;
        }
        
        public boolean equals(Object obj){
            if(obj == null) return false;
            else{
                if( obj instanceof Cat){
                    Cat c = (Cat)obj;
                    if(c.color == this.color && c.height == this.height && c.weight == this.weight){
                        return true;
                    }
                }
            }
            return false;
        }
    }

    运行结果:

  • 相关阅读:
    代码开发,测试及发布
    需求改进&系统设计
    综合系统开发----需求分析
    自我介绍+课后6问
    动态规划: 最大m子段和问题的详细解题思路(JAVA实现)
    mybatis typealias 问题
    对偶微分形式
    ASP.NET Web API 直到我膝盖中了一箭【1】基础篇
    第一篇博客,写点什么好呢?
    docker之MySQL主从复制
  • 原文地址:https://www.cnblogs.com/Gaojiecai/p/4005502.html
Copyright © 2020-2023  润新知