java中的object

来源:互联网 发布:px4源码分析阿木社区 编辑:程序博客网 时间:2024/06/07 12:43

1、object类是所有类的父类,如果一个类没有使用extends关键字 明确标示继承另外一个类,那么这个类默认继承Object

2、Object类中的方法,适合所有的子类。

3、

     a、toString()方法

          在Object类里面定义toString()方法的时候返回对象的哈希code码(对象地址字符串)

          可以通过重写toString()方法表示出对象的属性


public class Animal extends Object{

     public  int  age=10;

     public  string  name;

     public void eat(){

        System.out.println(" 年龄"+age+"动物可以吃东西")

    }

    public Animal(){             //构造方法

     System.out.println("Animal 类执行了")

    }

}


public  class Dog  extends  Animal{

       public Dog(){

        System.out.println("Dog  类执行了")

     }

}


public class Initail{


  public static void main(String【】 args){

    Dog  dog = new Dog();    

    System.out.println(dog); 

   }

}

结果:包名 @61de33   //dog在内存中的地址




public class Animal extends Object{

     public  int  age=10;

     public  string  name;

     public void eat(){

        System.out.println(" 年龄"+age+"动物可以吃东西")

    }

    public Animal(){             //构造方法

     System.out.println("Animal 类执行了")

    }

}


public  class Dog  extends  Animal{

       public Dog(){

        System.out.println("Dog  类执行了")

     }

      public  String  toString(){                                                                  // 重写toString方法    菜单栏----->source---->Generate toString()...

        return" Dog[age="+age+ "]"

     }

}


public class Initail{


  public static void main(String【】 args){

    Dog  dog = new Dog();    

    System.out.println(dog); 

   }

}

结果: Dog[age=10 ]




     b、equals()方法

            比较的是对象的引用是否指向同一块内存地址

 

public class Animal extends Object{

     public  int  age=10;

     public  string  name;

     public void eat(){

        System.out.println(" 年龄"+age+"动物可以吃东西")

    }

    public Animal(){             //构造方法

     System.out.println("Animal 类执行了")

    }

}


public  class Dog  extends  Animal{

       public Dog(){

        System.out.println("Dog  类执行了")

     }

}


public class Initail{


  public static void main(String【】 args){

    Dog  dog = new Dog();   

    dog.age=10;

     Dog  dog2 = new Dog(); 

     dog2.age=10;

     if(dog.equals(dog2))  {

        System.out.println("两个对象是相同的")

      }else{

        System.out.println("两个对象是不相同的")

      }

   }

}

输出结果:两个对象是不相同的







public class Animal extends Object{

     public  int  age=10;

     public  string  name;

     public void eat(){

        System.out.println(" 年龄"+age+"动物可以吃东西")

    }

    public Animal(){             //构造方法

     System.out.println("Animal 类执行了")

    }

}


public  class Dog  extends  Animal{

       public Dog(){

        System.out.println("Dog  类执行了")

     }

       public boolean  equals(Object obj){                                                          //重写equals方法()   菜单栏----->source----> Generate hashCode() and equals()...

            if(this==obj)       //引用的值是否相同  就是判断的地址是否相同

                  return true;

            if(obj==null)     //为空值

                  return falsh;

            if( getClass()!=obj.getClass() )       // obj.getClass 类对象 { 姓名 年龄 身高}

                  return falsh;                                 //obj   类的对象{阿宝 20岁 165cm }

              Dog other = (Dog)obj;

            if(age!=other.age)                    //属性值是否相等

                  return falsh;

            return ture;

       }


}


public class Initail{


  public static void main(String【】 args){

    Dog  dog = new Dog();   

    dog.age=10;

     Dog  dog2 = new Dog(); 

     dog2.age=10;

     if(dog.equals(dog2))  {

        System.out.println("两个对象是相同的")

      }else{

        System.out.println("两个对象是不相同的")

      }

   }

}

输出结果:两个对象是相同的