JavaSE--重新学习_查漏补缺(5)--Object类中的主要方法_instanceof操作符_对象的类型转换_==操作符与equals方法的区别_直接输出对象输出的东西_再谈static关键字

一、Object类中的主要方法

Object作为所有类的父类,它的方法时所有对象都有的方法。
JavaSE--重新学习_查漏补缺(5)--Object类中的主要方法_instanceof操作符_对象的类型转换_==操作符与equals方法的区别_直接输出对象输出的东西_再谈static关键字

二、instanceof操作符

作用:比较对象是不是同一个对象
JavaSE--重新学习_查漏补缺(5)--Object类中的主要方法_instanceof操作符_对象的类型转换_==操作符与equals方法的区别_直接输出对象输出的东西_再谈static关键字

三、对象的类型转换

对象类型转换和基本数据类型转换的思想是一样的,都是小的可以直接转向大,如short s;int i =s,若想大->小,则需强制类型转换 如long l ; int i =(long)l;在对象中表现为子类可以转为父类。若想父类->子类,则需强制类型转换。
JavaSE--重新学习_查漏补缺(5)--Object类中的主要方法_instanceof操作符_对象的类型转换_==操作符与equals方法的区别_直接输出对象输出的东西_再谈static关键字
JavaSE--重新学习_查漏补缺(5)--Object类中的主要方法_instanceof操作符_对象的类型转换_==操作符与equals方法的区别_直接输出对象输出的东西_再谈static关键字

四、==操作符与equals方法的区别

  • 对于基本类型来说:都是比较值。
  • 对于对象来说:
    1、特殊的类:String,File,Data,integer使用 == 比较的是对象(对象的堆内存地址),使用.equals比较的是内容。(所以HashMap推荐使用String,integer等做key值。)
    2、除了特殊类之外的其他普通类,==和.equals比较的都是对象(对象的堆内存地址,因为对象都在堆中,所以是堆内存的比较,当然对象类型变量的栈内存也是不一样的)
    3、如果想你改变某个类的equals,不想用.equals来比较对象的内存地址,就需要重写equals方法。
    JavaSE--重新学习_查漏补缺(5)--Object类中的主要方法_instanceof操作符_对象的类型转换_==操作符与equals方法的区别_直接输出对象输出的东西_再谈static关键字

五、直接输出对象输出的东西

打印对象 相当于打印对象的toString方法
若toString方法该类没有重写,则输出方法该对象的地址

六、再谈static关键字

Static可以当做java中的全局变量来看,只要在一个地方改了 全局都是被改的地方那个值。
一般static用在工具类。
JavaSE--重新学习_查漏补缺(5)--Object类中的主要方法_instanceof操作符_对象的类型转换_==操作符与equals方法的区别_直接输出对象输出的东西_再谈static关键字