第二章之Object类

2019-01-17
内容:Object类
一、Object类是所有类的父类
二、Object只有一个默认构造:public Object (){
 
                 }
三、equals方法

1 public boolean equals (Object obj) {
2  return this == obj
3 }
  上面代码表明equals比较的是引用类型变量,并且比较的是变量中存储的地址,如果地址相等则返回true,否则返回false
  注意:有一些类对equals方法进行了重写
  equals重写示例:
 1 public class Equals {
 2   private String name;
 3   private int age;
 4   public static void main(String[] args) {
 5   Equals e1 = new Equals();
 6   Equals e2 = new Equals();
 7   System.out.println(e1.equals(e2));
 8  }
 9  @Override
10  //当名字和年龄相等时返回true
11  public boolean equals(Object obj) {
12   if (this == obj)
13    return true;
14   if (obj == null)
15    return false;
16   if (getClass() != obj.getClass())
17    return false;
18   Equals other = (Equals) obj;
19   if (age != other.age)
20    return false;
21   if (name == null) {
22    if (other.name != null)
23     return false;
24   } else if (!name.equals(other.name))
25    return false;
26   return true;
27  }
28 }

四、==

  对于八种基本数据类型,比较的是变量的值,而且可以符号两端类型不同,如果值相等则返回true,否则返回false
  对于引用类型,比较的是引用的值,即地址,如果地址相等则返回true,否则返回false
五、toString方法
 
1 public String toString() {
2         return getClass().getName() + "@" + Integer.toHexString(hashCode());
3     }
  上面代码表明toString方法返回的是类名+hashcode码
  toString方法重写示例
 1 public class ToString {
 2  private String name ;
 3  private int age;
 4  
 5  public ToString(String name, int age) {
 6   super();
 7   this.name = name;
 8   this.age = age;
 9  }
10  public static void main(String[] args) {
11   ToString e = new ToString ("小明",11);
12   System.out.println(e.toString());
13  
14 }
15  @Override
16  public String toString() {
17   return "ToString [name=" + name + ", age=" + age + "]";
18  }
19  
20 }

猜你喜欢

转载自www.cnblogs.com/jbrr/p/10284107.html