1.什么是内部类,使用匿名内部类的前提是什么?
(1)概念:在一个类中定义一个类
(2)前提:存在一个类或者接口,这里的类可以是具体类也可以是抽象类
2.请从你的理解谈谈,匿名内部类的作用?
如果一个方法的参数是接口类型或者是抽象类型,那么就可以使用匿名内部类作为该方法的参数传递,实际传递的就是该接口的实现类对象或者抽象类的子类对象,来简化传统的代码。
3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
(1)当一个类上面没有父类的时候,该类就继承Object类,而Object类中的toString()方法的返回值为对象的地址值,
所以当我们打印对象的时候,结果是地址值;但是在集合中,打印对象结果为集合的内容,因为在这里已经将toString()方法重写了。
(2)当类在main方法中打印对象的时候,会自动调用toString()方法,并将toString()方法的返回值输出。
4.我们为什么要重写equals()方法?
因为我们希望equals()方法用来比较的是对象的内容,而不是用来比较对象的地址值,从而提高编码效率。
5.==和equals()的区别?
(1)==:用来比较两个值是否相同,相同返回值为 true , 不同则返回值为 false
(2)equals():用来比较两个对象的地址值是否相同,相同返回值为 true , 不同则返回值为 false
——张柠 |