1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?因为object类是所有类的超类,object类的toString()方法默认调用的是对象的地址值,
如果没有重写toString()方法,打印对象的时候就是地址值,如果重写toString()方法,打印对象的时候就是对象内容。
打印对象的时候就会调用toString()方法。
2.我们为什么要重写equals()方法?
如果不重写equals()方法,比较的是地址值,
如果要比较对象的内容的时候就要重写equals()方法。
3.==和equals()的区别?
==操作比较的是两个变量的地址值是否相等。equals ()方法(是超类Object中继承的)被用来检测两个对象的内容是否相等。 4.String和StringBuilder的区别?
String 字符串长度不可改变;
StringBuilder又称为字符串缓冲区,长度可以发生改变。
5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
包装类可以把基本数据类型转换为引用数据类型,是基本类型像对象一样使用。
包装类是引用数据类型。基本类型是基本数据类型,可以进行运算。
.自动装箱:直接把一个基本数据类型可以直接赋值给一个包装类型,从而变成一个引用数据类型。
自动拆箱:把一个包装类类型的对象直接赋值给一个基本数据类型的过程。
|