2019-01-17
内容:Object类
一、Object类是所有类的父类
二、Object只有一个默认构造:public Object (){
}
三、equals方法
二、Object只有一个默认构造:public Object (){
}
三、equals方法
1 public boolean equals (Object obj) {
2 return this == obj
3 }
注意:有一些类对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方法
上面代码表明toString方法返回的是类名+hashcode码
toString方法重写示例
对于引用类型,比较的是引用的值,即地址,如果地址相等则返回true,否则返回false
五、toString方法
1 public String toString() { 2 return getClass().getName() + "@" + Integer.toHexString(hashCode()); 3 }
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 }