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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2019-10-8 19:33  /  2379 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.请参照课上的xmind自己完成内部类的总结,用你的语言描述内部类的分类和特点
内部类分为成员内部类和局部内部类

成员内部类:
类中成员方法外定义,成员内部类可以访问外部类的所有成员(包括私有类型成员);
外部类也可以访问内部类的所有成员(包括私有类型成员),前提是需要创建内部类对象
外界也可以访问成员内部类,需要创建内部类对象,格式为 外部类.内部类 变量名 = new 外部类().new 内部类();
访问顺序 成员内部局部变量,成员内部类成员变量,外部类成员变量

局部内部类:
成员方法中定义,局部内部类可以访问外部类的所有成员(包括私有类型成员),以及该类所在成员方法的变量;
局部内部类只能在所在的方法中创建对象并调用,方法外无法创建局部内部类对象,外界无法访问;
访问顺序 局部内部类局部变量,局部内部类成员变量,外部类局部变量(变量同名时,无法手动获取,只能通过访问顺序访问),外部类成员变量


2.在JDK5中,为什么会有匿名内部类这个更新?
在实现对象时需要编写相关的类,但创建的对象只需要使用一次,会造成资源浪费
为了在不编写类的前提下创建对象,所以创造了匿名内部类。

3.匿名内部类的本质是什么?
创建子类/抽象类的子类/实现类的对象

4.匿名内部类和匿名对象的应用场景?
当对象只需要创建一次时,可以匿名内部类
当方法只需要调用一次时,可以使用使用匿名对象

5.为什么要重写toString和equals方法
使用toString和equals方法得不到我们想要的结果

6.== 和 equals的区别
==对数值进行比较或者对引用数据类型的地址值进行比较
equals可以对内容进行比较
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马