zoukankan      html  css  js  c++  java
  • Java 内部类2

    到目前为止,内部类似乎还只是一种名字隐藏和组织代码的模式,这些都是很有用的,但还不是最引人注目的,它还有其他的用途。当生成一个内部类的对象时,此对象与制造它的外围对象之间就有一种联系,所以它能访问其外围对象的所有成员,而不需要任何特殊条件。此外,内部类还拥有其他的外围类的所有元素的访问权。

    下面例子说明这一点:

     1 package innerclasses;
     2 
     3 interface Selector{
     4     boolean end();
     5     Object current();
     6     void next();
     7 }
     8 
     9 public class Sequence {
    10     private Object[] items;
    11     private int next = 0;
    12     public Sequence(int size){
    13         items = new Object[size];
    14     }
    15     
    16     public void add(Object x){
    17         if(next < items.length)
    18             items[next++] = x;
    19     }
    20     private class SequenceSelector implements Selector{
    21         private int i = 0;
    22         public boolean end(){
    23             return i == items.length;
    24         }
    25         public Object current() {
    26             // TODO Auto-generated method stub
    27             return items[i];
    28         }
    29         public void next() {
    30             // TODO Auto-generated method stub
    31             if(i<items.length) i++;
    32         }
    33     }
    34     
    35     public Selector selector()
    36     {
    37         return new SequenceSelector();
    38     }
    39     
    40     public static void main(String[] args){
    41         Sequence sequence = new Sequence(10);
    42         for(int i = 0;i < 10;i++)
    43         {
    44             sequence.add(Integer.toString(i));
    45         }
    46         Selector selector = sequence.selector();
    47         while(!selector.end()){
    48             System.out.print(selector.current()+ " ");
    49             selector.next();
    50         }
    51         
    52     }
    53 }

    结果:

    0 1 2 3 4 5 6 7 8 9 
  • 相关阅读:
    FasDfs缩略图解决方案 -- Linux
    FastDFS 配置 Nginx 模块,并实现分布式同步-Linux
    Linux简单文本处理
    Linux命令执行顺序与管道命令
    建立Linux计划命令crontab
    Linux下的帮助命令
    Linux文件系统操作与磁盘管理
    Linux之文件的压缩与解压缩
    Linux环境变量与文件查找
    Linux目录结构及文件操作
  • 原文地址:https://www.cnblogs.com/fxyfirst/p/3789979.html
Copyright © 2011-2022 走看看