Object类
Object是java中的基类,所有的类默认都会继承Object类,所以所有的类都可以通过Object类接收,完成向上转型,实现参数统一化。
String覆写的两个重要的Object方法
1.toString();
Object中的toString方法默认输出的是该类的名称getClass()和地址编码,我们String类继承Object类对toString()方法进行了覆写。所以输出的变成字符串而非地址。
而我们System.out.print(’‘hello’’);时默认调用了hello的toString()方法.
2.equals();
正常的比较时比较的是类地址也就是正常的==操作,String类对其equals()方法进行了覆写,是之完成的是字符串内容的比较。
我们可以通过重写equals和toString方法完成类的比较和内容显示。
注意
Object是最大的基类,但是Object始终也是引用数据类型,所以Object只能接受类,数组,接口,不能够接受8大基本数据类型。为此我们引入类包装类
包装类
1.数值型包装类(Number类的直接子类):
long->Long();
int->Integer();
short->Short();
byte->Byte();
double->Double();
float->Float();
2.对象型包装类(Object类的直接子类):
char->Character();
boolean->Boolean();
关于数值型的拆装箱操作
装箱:基本数据类型->包装类对象
包装类的构造方法。
拆箱:包装类对象->基本数据类型
包装类.xxValue();//比如:int a =integer.intValue();
自动拆装箱:
自动装箱:Integer integer = 10;
自动拆箱:int a = new Integer(10);
数值型包装类的值比较
对于Integer integer =? 在-128~127之间的复制,Integer对象自动在Integer常量池中产生,会符用已有对象,这个区间内的Integer 值可以直接使用==判断。
大于这个范围的值,或者不是采用自动拆装箱的值,或者其他类型的值,都采用equals()方法比较,包装类覆写了equals()方法,可以进行内容比较。