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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© IT小笨鸟 中级黑马   /  2016-4-7 22:37  /  620 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

内部类:定义在类中的类
按照位置可以分为:成员内部类与局部内部类
成员内部类:
对象创建:外部类名 . 内部类名 对象名=new 外部对象.内部对象;
加private修饰后:在外部类中定义一个方法来创建内部类对象,内部类名 对象名=new 内部类名();
private:为了保护数据的安全性
加static修饰后:外部类名 . 内部类名 对象名=new 外部类名 . 内部类名();
static:为了让数据访问更方便
局部内部类:(必须注意的问题)
局部内部类访问局部变量,局部变量必须加final修饰,为什么?这个问题留给你们,欢迎讨论

5 个回复

倒序浏览
楼主总结的不错
回复 使用道具 举报
腾龙3158 来自手机 中级黑马 2016-4-8 00:53:07
藤椅
因为当方法弹栈后,局部变量也会消失,而内部类对象可能还没有被回收,还在引用该变量,所以只有定义为final 的
回复 使用道具 举报
腾龙3158 发表于 2016-4-8 00:53
因为当方法弹栈后,局部变量也会消失,而内部类对象可能还没有被回收,还在引用该变量,所以只有定义为fina ...

不错,只有加final修饰后,把变量变成常量存储在内存中,才能在方法调用完毕后依旧有数据可以用
回复 使用道具 举报
局部变量加final可以延长周期,方便局部内部类使用。
回复 使用道具 举报
加油加油!!!!!!!!!!!!!!!!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马