Java语言基础Objcet类

Objcet:所有类的根类。

Objcet是不断抽取而来的,具备着所有对象都具备的共性内容。

常用的共性功能:
equals()、hashCode()、toString()方法的覆写示例
   

class Person
    {
        private int age;
        Person(int age)
        {
            this.age=age;
        }
        /*
        比较Person的年龄,是否是同龄人
        将父类中的equals方法覆写
        一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相同的依据
        */
        public boolean equals(Object obj)
        {
            if(!(obj instanceof Person))
            {
                throw new ClassCastException("类型错误");//类型转换异常
            }
            else
            {
                Person p=(Person)obj;
                return this.age==p.age;
            }
        }
        public int hashCode()
        {
            return age;
        }
        public String toString()
        {
            return "Person:"+age;
        }
    }

    class Demo
    {
    }

    class  ObjectDemo
    {
        public static void main(String[] args) 
        {
            Person p1=new Person(20);
            Person p2=new Person(20);

            Demo d=new Demo();
            //System.out.println(p1==p2);
            //System.out.println(p1.equals(p2));//equals()比较的是地址
            //System.out.println(p1.equals(d));
            //System.out.println(p1.hashCode());

            //Class class1=p1.getClass();
            //Class class2=p2.getClass();
            //System.out.println(class1.equals(class2));//true,使用同一个class类创建了对象
            //System.out.println(class1.getName());

            System.out.println(p1);
            System.out.println(p1.getClass().getName()+"$"+Integer.toHexString(p1.hashCode()));
        }
    }
原文地址:https://www.cnblogs.com/chenchong/p/2603112.html