内部类
来源:互联网 发布:浙江省软件考试 编辑:程序博客网 时间:2024/05/21 11:07
定义: 把类定义在其他类的内部
访问特点: 内部类可以直接访问外部类的成员,包括私有
外部类要访问内部类的成员,必须创建对象。
位置:
外部类$内部类.class
使用:
Outer.Inter o=new Outer().new Inter()
外部类和内部类没有继承关系
可以通过外部类名.this.变量 访问外部类的变量
如 outer.this.num
局部内部类访问局部变量
注意:要将局部变量申明为final,因为局部对象没有立刻从堆内存中消失,由jvm在空闲时回收,如果不是final,局部变量随着方法的调用完毕而消失,局部对象就不能使用局部变量了。final修饰的变量在内存中存储的是一个常量值。
企业中匿名内部类的应用 原因:用完可以直接回收
Outer.method().show();
分析 method是Outer的静态方法 而Outer.method()返回的是一个对象 不然不能继续调用方法
class Outer{
public static Inter method(){
return new Inter(){ public void show(){ System.out.println(""HelloWord)}};
}
}
访问特点: 内部类可以直接访问外部类的成员,包括私有
外部类要访问内部类的成员,必须创建对象。
位置:
外部类$内部类.class
使用:
Outer.Inter o=new Outer().new Inter()
外部类和内部类没有继承关系
可以通过外部类名.this.变量 访问外部类的变量
如 outer.this.num
局部内部类访问局部变量
注意:要将局部变量申明为final,因为局部对象没有立刻从堆内存中消失,由jvm在空闲时回收,如果不是final,局部变量随着方法的调用完毕而消失,局部对象就不能使用局部变量了。final修饰的变量在内存中存储的是一个常量值。
企业中匿名内部类的应用 原因:用完可以直接回收
Outer.method().show();
分析 method是Outer的静态方法 而Outer.method()返回的是一个对象 不然不能继续调用方法
class Outer{
public static Inter method(){
return new Inter(){ public void show(){ System.out.println(""HelloWord)}};
}
}
0 0
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- QTableWidget中表格显示图片
- 第一个只出现一次的字符
- 抽象与接口
- D
- idea build 无war包
- 内部类
- angularjs select 赋值 ng-options配置方式
- iOS 开发简单, 工资高。 用户群体消费水平高。Android 开发难很多,工资较低。
- 自定义SeekBar实现标尺指示范围的功能(含自定义shape等资源)
- 1079. Total Sales of Supply Chain (25)
- 1004. 成绩排名 (20)
- 语音学习笔记10------如何利用Deep CNN大幅提升识别准确率?
- 计算机硬件软件dos基础常识
- CentOS配置hadoop