A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2018-12-19 18:46  /  2565 人查看  /  38 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


1.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
Object类是所有类的父类,如果没有没有特别指定的父类,那么默认继承Object类,打印的是地址值是因为Object类中toString()方法没有重写,默认返还的是地址值;打印的是对象内容的是因为toString()方法被重写,按照重写的内容打印;输出打印对象名其实就是调用toString()方法。

2.我们为什么要重写equals()方法?
equals()方法默认的是地址值比较,没有意义,需要进行重写,来比较对象的属性内容。

3.==和equals()的区别?
==:基本类型数据比较的数据值;引用类型比较的是地址值
equals():默认进行==地址值的比较,重写后可以进行对象属性内容的比较

4.String和StringBuilder的区别?
String是常量,长度不可变;每次拼接都需要new一个String对象,耗时又浪费内存,但是少量的字符串拼接可以考虑;
StringBuilder是字符串的缓冲区,字符串长度可以改变,默认16个字符空间,不够会自动扩充;

5.什么是包装类,和基本类型有什么区别?什么是自动装箱和自动拆箱?
基本数据类型的数据,使用起来非常的方便,但是没有对应的方法来操作这些数据,所以我们可以使用一个类,把基本类型的数据包装起来,这个类叫包装类,在包装类中可以定义一些方法,用来操作基本类型的数据;
自动装箱和自动拆箱:基本类型的数据和包装类之间可以自动的互相转换,JDK1.5只有主线的新特性
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马