具体方法

具体方法:

  1,boolean equals(Object obj):用于比较两个对象是否相等,其实内部比较的就是两个对象地址。

  而根据对象的属性不同,判断对象是否相同的具体内容也不一样。所以在定义类时,一般都会复写equals方法,建立本类特有的判断对象是否相同的依据。

  public boolean equals(Object obj){

    if(!(obj instanceof Person))

    return false;

    Person p = (Person)obj;

    return this.age == p.age;

  }

  2,String toString():将对象变成字符串;默认返回的格式:类名@哈希值 = getClass().getName() + '@' + Integer.toHexString(hashCode())

  为了对象对应的字符串内容有意义,可以通过复写,建立该类对象自己特有的字符串表现形式。 

  public String toString(){

    return "person : "+age;

  }

  3,Class getClass():获取任意对象运行时的所属字节码文件对象。

  4,int hashCode():返回该对象的哈希码值。支持此方法是为了提高哈希表的性能。

 

  通常equals,toString,hashCode,在应用中都会被复写,建立具体对象的特有的内容。

——————————————————————————————————————————————————————

  内部类:如果A类需要直接访问B类中的成员,而B类又需要建立A类的对象。这时,为了方便设计和访问,直接将A类定义在B类中。就可以了。A类就称为内部类。内部类可以直接访问外部类中的成员。而外部类想要访问内部类,必须要建立内部类的对象。

——————————————————————————————————————————————————————

class Outer{

  int num = 4;

  class  Inner {

    void show(){

      System.out.println("inner show run "+num);

    }

  }

  public void method(){

  Inner in = new Inner();//创建内部类的对象。

  in.show();//调用内部类的方法。 

  }

}

posted @ 2020-08-24 16:33  一口獠牙  阅读(199)  评论(0编辑  收藏  举报