内部类的使用2--链接到外部类
来源:互联网 发布:延时摄影制作软件 编辑:程序博客网 时间:2024/06/03 14:41
我们先来看一段用java类库写的代码:
如果我们也想写一个类似的结构来屏蔽类型的进行遍历应该怎么写呢?
内部类是个好办法。
上面就是用了匿名的内部类来实现了一个iterator1接口,因为内部类能够访问外部类的元素,就使得它拥有了遍历外部元素的能力。
为啥它能访问外部类呢,因为在内部类中会有一个外部类的引用,可以使用A.this得到。
嵌套类
static类型的内部类,没有了那个外部类的引用。但是它特殊的地方在于,可以放到接口中,我们还可以利用它来测试,单独写在类的内部,写个main方法进行测试,因为它编译的时候会形成单独的类,在程序运行的时候可以统一去掉。
内部类的继承
内部类也是可以继承的,不过因为要构建内部类,必须要先构造外部类,因此在子类的构造器中必须要有显示的父类构造器的调用:
内部类与回调
先看个例子:
这个是个回调,类似于命令模式。回调的概念不太好解释,就是给一个类B赋值接口A的实例,然后在类C中使用B的时候,会从B中回调A的方法。
上面的例子中因为有一个命令类已经继承了一个,并且基类中存在类命令接口中的方法。这样如果这个类在实现命令接口就会冲突,为了他也能够使用命令的方式,就需要实用类来实现这种操作了。
如果上面的例子,把set方法改为add,然后用一个List保存command。callBack()方法中改为循环调用就是一个比较正规的命令模式了。
内部类的使用方式大概就这么多了,大大丰富了我们编程的手段和技巧,可以在结构上有很多巧妙的运用。
- 内部类的使用2--链接到外部类
- 内部类之链接到外部类
- java内部类读书笔记-链接到外部类
- JAVA中的内部类链接到外部类
- java炒冷饭系列09 内部类的创建和链接到外部类
- 【Java】内部类与外部类的互访使用小结
- 内部类和外部类的使用规则
- 内部类和外部类的使用区间分析
- 内部类和外部类的使用规则
- 使用外部类调用内部类的方法和变量
- 【Java】内部类与外部类的互访使用小结
- 内部类 外部类
- 内部类、外部类
- Scala扩大内部类作用域的2种方法、内部类获取外部类引用
- 内部类访问外部类的实例
- 内部类外部类之间的互访
- scala的内部类和外部类
- 外部类与内部类的调用
- 设置EditText不弹出软件的方法
- ajax 发送方式
- 堆与优先级队列
- 在非process context中,不能做什么
- New concept English 2 -- Note of lesson 7-2
- 内部类的使用2--链接到外部类
- SIFT算法学习:特征提取函数的使用
- 使用jrtplib写的一个简单服务器和客户端程序
- postgresql,oracle,mysql通过数据字典获取表结构
- Android界面Rotation
- 哈夫曼编码后的感悟
- js定义数组及相关操作
- PDO学习
- SharePoint之脚本运用