1.什么是内部类,使用匿名内部类的前提是什么?
定义在类中的类就是内部类,出现在一个类依附于另一个类的时候
存在一个类或者接口,这里的类可以是具体类也可以是抽象类
2.请从你的理解谈谈,匿名内部类的作用?
当发现某个方法需要,接口或抽象类的子类对象,我们就可以传递一个匿名内部类过去,来简化传统的代码
3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
打印对象出现地址值是该类中没有重写Object类中的toString方法,打印出现对象内容时则是重写了toString方法。
希望打印子类对象的时候,显示的是对象的内容
4.我们为什么要重写equals()方法?
希望调用equals方法的时候,对象比较的是内容
5.==和equals()的区别?
==是一个比较运算符,在基本数据类型中是比较值是否相等,在引用数据类型中比较的是地址值(对象的指引)是否相等。
equals()是一个方法,只能比较引用数据类型;
重写前比较的是地址值,比如在String,Integer,Date类中,重写了equals()方法,比较的是对象的具体内容。 |