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()));

        }

    }

你可能感兴趣的:(java语言)