吴香斌
1. 思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
打印对象调用的是toString方法,toString是Object父类中的方法,返回的是地址值。 如果子类没有重写toString方法,则默认调用的是Object父类中的方法. 如果子类有重写toString方法,可以将返回的内容修改为, 对象内容或者其他。 在打印输出时,直接调用对象时,会调用对象的toString方法. 2. 我们为什么要重写equals()方法? equals方法是父类Object中的方法,默认是对地址值的比较 当我们需要进行内容的比较时,需要通过重写,来赋予它新的功能 3. ==和equals()的区别? == 对基本数据类型是内容的比较,对引用数据类型是地址值的比较 ]] String对象是恒定不变的,当要对String对象进行扩充时,都需要创建一个新的对象,重新分配空间。 ]] 当简单的字符串连接时,使用String类。 当存在大量和无法预知次数的字符串连接时,使用StringBuilder. 5. 什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱? 包装类是把基本类型变成对象类型,像ArrayList这样的集合是不能储存基本类型的只能储存对象 为了方便这些集合的使用所以才有了把基本类型包装成对象类型。 自动装箱:把基本类型转换为包装类型 自动拆箱:把包装类型转换为基本类型
|