内部类
来源:互联网 发布:idc数据公司 编辑:程序博客网 时间:2024/06/05 20:57
内部类
可以将一个类的定义放在另一个类的定义内部,这就是内部类
内部类有效地是实现了”多重继承”,内部类允许继承多个非接口类型(类或抽象类)
创建内部类
如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,一般指在静态方法内,如main(),需要具体指明这个对象的类型:OuterClassName.InnerClassName
Parcel p = new Parcel();Parcel.Content c = q.content();
连接到外部类
内部类自动拥有对其外围类所有成员的访问权
使用.this与.new
.this, 生成对外部类对象的引用
return Parcel.this;
.new,告知外部对象,去创建其某个内部类的对象
Parcel.Content c = q.new Content();
在方法和作用域内的内部类
在定义内部类的作用域之外,它是不可用的
if(b){ class Inner{ Inner(){} } new Inner();}
匿名类
public Content content{ return new Content(){ private int i = 1; public int value(){return 2} };}
创建一个继承自Content的匿名类的对象
匿名类使用在其外部定义的对象,编译器要求其参数引用是final的
嵌套类
声明为static的内部类
不需要内部类对象与其外围类对象有联系
局部内部类
- 我们需要一个已命名的构造器,或者需要重载构造器,而匿名内部类只能用于实例初始化
- 需要不止一个该内部类的对象
0 0
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 【GAN的魔法】生成对抗网络技术进展及论文笔记1
- 关于RaspberryPi 3的CPU
- lvs-dr模式原理详解和可能存在的“假负载均衡”
- SQL 模式的 10 条规则
- Linux 、Android将在汽车舞台上开战
- 内部类
- hdu1702栈和队列
- 斯坦福机器学习网易公开课笔记10
- vue-cli 安装
- VR SelectROI的实现方法(2)
- JS表格组件神器bootstrap table详解(基础版)
- HTML入门
- 庖丁解牛<c++primer>系列三:类型别名和自定义数据结构
- Master棋手完胜人类 但仍属弱人工智能