博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内部类使用外部类的成员属性
阅读量:7108 次
发布时间:2019-06-28

本文共 1105 字,大约阅读时间需要 3 分钟。

hot3.png

代码说明

package com.lh.innerclass;public class Sequence {	//使本接口定义外部化	static interface Selector{		//判断当前指针是否指向末尾		boolean end();		//返回当前指针指向的对象		Object current();		//指针移到下一位		void next();	}		//本成员变量被内部类无条件调用了	private Object[] items;		private int next;		public Sequence(int size) {		this.items = new Object[size];//		next = 0;	}		public void add(Object object){		if(this.next < this.items.length){			items[next++] = object;		}	}		//创建内部类的实例,返回给外部使用!	public Selector selector(){		return new SequenceSelector();	}		//内部类(私有)	private class SequenceSelector implements Selector{		private int i = 0;		public boolean end() {			return i == items.length;		}		public Object current() {			return items[i];		}		public void next() {			if(i < items.length){				i++;			}		}			}	//程序入口	public static void main(String[] args) {		int size = 10;		Sequence sequence = new Sequence(size);		Selector selector = sequence.selector();		for(int i = 0; i < size; i++){			sequence.add(i);		}				while(!selector.end()){			System.out.println(selector.current());			selector.next();		}	}}

 

转载于:https://my.oschina.net/Howard2016/blog/1617999

你可能感兴趣的文章
PHP 7: PHP 变量和常量的定义
查看>>
spin_lock &amp; mutex_lock的差别?
查看>>
curl命令具体解释
查看>>
Linux进程间通信——使用命名管道
查看>>
TestLink学习四:TestLink1.9.13使用说明
查看>>
通用分页存储过程
查看>>
神秘代码让iPhone微信闪退的解决方法
查看>>
文章索引
查看>>
基于jquery结婚电子请柬特效素材
查看>>
Knockout应用开发指南 第九章:高级应用举例
查看>>
EDW on Hadoop(Hadoop上的数据仓库)技术选型和实践思考
查看>>
设计模式——责任链模式
查看>>
hdu 3339 In Action 背包+flyod
查看>>
DevExpress.Build.v14.2
查看>>
需求文档中容易出的错误
查看>>
ViewPagerTransforms
查看>>
一位Erlang程序员的自白
查看>>
移动端遇到的问题
查看>>
一不小心把oschina给戒了
查看>>
互联网数据库架构设计思路
查看>>