Java|java面试之内部类的四种分类以及作用
内部类的区分内部类分别有成员内部类、局部内部类、匿名内部类、静态内部类 , 接下来将分别介绍 。
成员内部类【Java|java面试之内部类的四种分类以及作用】1 就是位于外部类成员位置的类 。 与外部类的属性、方法并列 。
2 成员内部类作为外部类的成员 , 可以访问外部类的私有成员或属性 。 (即使将外部类声明为private , 但是对于处于其内部的内部类还是可见的 。 )
3 用成员内部类定义在外部类中不可访问的属性 。 这样就在外部类中实现了比外部类的private还要小的访问权限 。
注意:内部类是一个编译时的概念 , 一旦编译成功 , 就会成为完全不同的两类 。 对于一个名为outer的外部类和其内部定义的名为inner的内部类 。 编译完成后出现outer.class和outer$inner.class两类 。
局部内部类1定义在一个方法或者一个作用域里面的类 。
2 局部内部类中不可定义静态变量 , 可以访问外部类的局部变量(即方法内的变量) , 但是变量必须是final的 。
局部内部类只能在所在的方法体作用域内进行实例化 , 而如果要在所在方法体返回该类 , 就要通过接口向上转型的操作 , 在某些情况下 , 某些业务逻辑需要临时处理 , 这些业务逻辑只在这里使用又可以封装成一个类的话 , 而又没必要重新建个文件 , 所以可以这写一个局部内部类来处理 。 然后 , 在我的记忆中 , java代理模式中有用到局部内部类 , 在方法中直接实现接口 , 返回代理对象 , 简单而又方便 。
- javascript|Web前端培训:什么是 MEAN Stack?
- javascript|奢侈品级别音响B&W加持,峰米向行业第一发起冲击?
- Java|带你入门Java之每日3分钟Java——数据类型和常量变量
- Java|慎入慎入!!又是被互联网“美人”诈骗的一天!
- Java|假如让谷歌浏览器进入中国市场,国产浏览器会受到很大影响吗?
- javascript|帕特·基辛格被任命为英特尔CEO已有一年
- Java|重磅丨屯粮积草网与腾讯达成2022年度战略合作,实现主流搜索引擎全覆盖!
- 阿里巴巴|Java程序员从携程、美团、阿里面试回来,这些面经分享给大家
- meta|搞Java怎么玩深度学习,生产环境用DL4J啊
- javascript|SSD、显卡速度再翻倍! 新一代PCIe 6.0标准正式定案