// Object类详解
package myObject;
/* == 和 equals 的区别
1、==: 是一个比较运算符,既可以判断基本类型,又可以判断引用类型
2、==: 如果判断基本类型,判断的是值是否相等。示例:int i=10; double d=10.0
3、==: 如果判断引用类型,判断的是地址是否相等,即判定是不是同一个对象
1、equals: 是Object类中的方法,只能判断引用类型
2、equals: 默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等
*/
public class MyEquals {
public static void main(String[] args) {
B a = new B();
A b = a;
A c = b;
System.out.println(a==b); //true
System.out.println(a==c); //true
System.out.println(b==c); // true
B d = a;
System.out.println(d==c); // true
int n1 = 10;
double n2 = 10.0;
System.out.println(n1==n2); // true
System.out.println();
String str1 = "hello";
String str2 = "hello";
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
}
}
class A{}
class B extends A{}