instanceof是Java语言中的一个二元运算符,它的作用是:判断一个引用类型变量所指向的对象是否是一个类(或接口、抽象类、父类)的实例,即它左边的对象是否是它右边的类的实例,该运算符返回boolean类型的数据。
Object类是所有类的父类(基类),如果一个类没有明确的继承某一个具体的类,则将默认继承Object类。
Object的多态
使用Object可以接受任意的引用数据类型
toString()
- 重写Object中的toString方法; 此方法的作用:返回对象的字符串表示形式 ;
- Object的toSting方法,返回对象的内存地址;
- System.out..println(对象名)一般输出时调用的时对象的toString方法 ;
equals()
重写Object中的equals(Object obj)方法,此方法的作用:指示某个其他对象是否“等于”此对象。
实现了对象上最具区别的可能等价关系; 也就是说,对于任何非空引用值x和y ,当且仅当 x和y引用同一对象( x == y具有值true )时,此方法返回true 。
equals方法重写时的五个特性:
- 自反性 :对于任何非空的参考值x , x.equals(x)应该返回true 。
- 对称性 :对于任何非空引用值x和y , x.equals(y)应该返回true当且仅当y.equals(x)回报true 。
- 传递性 :对于任何非空引用值x , y和z ,如果x.equals(y)回报true个y.equals(z)回报true ,然后 x.equals(z)应该返回true 。
- 一致性 :对于任何非空引用值x和y ,多次调用x.equals(y)始终返回true或始终返回false ,前提是未修改对象上的equals比较中使用的信息。
- 非空性 :对于任何非空的参考值x , x.equals(null)应该返回false 。
equals和==的区别(前者是比较两个数是否等价,后者是比较地址)