今天我们进入到了就业班,来看看就业班第一天我们都需要掌握哪些内容
1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
因为有的类重写了toString()方法,所以打印出的是对象内容,而打印出地址值的是直接继承了公共父类Object类
中的toString()方法,默认打印地址值。 对象在直接使用时会调用toString()方法。
2.我们为什么要重写equals()方法?
因为从父类Object中继承来的equals()方法比较的是地址值,而比较地址值对我们而言没有太大意义,所以我们
需要重写equals()方法,用来比较对象的每个属性是否相同。
3.==和equals()的区别?
==比较的地址值,而equals方法如果没有被重写的话,默认的结果也是比较地址值,可以说,在默认的equals中,
就是使用的==比较。 而在重写后,equals()就变成比较内容的方法。
4.String和StringBuilder的区别?
String是一个常量,由于底层是长度固定的数组,所以String对象的长度是不可变得,发生变化的都是创建出了新的
对象。而如果创建的对象过多的话,会占用过多的空间,导致执行效率低下。而StringBuilder就很好的解决了这个问题,StringBuilder是初始容量16的字符串,无论怎么拼接删减,他还是同一个数组,所以他占用空间小,执行效率高,他的底层是一个容量可以变化的数组,所以他的长度是可变化的
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱
包装类就是将基本类型数据进行包装,是的基本类型数据也能够被对象使用,而且功能相同。
名称与基本类型不同,包装类能够被对象使用,基本类型数据不行。
基本类型和包装类相互转化的过程被称为装箱和拆箱,在JDK1.5后,系统能够自动的帮我们完成这个转化的过程,
称为自动装箱和自动拆箱。
|
|