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 
  • 相关阅读:
    GitHub上创建项目
    html5的标签中,哪些是行内元素,哪些是块级元素。
    盒子模型及其他的层次结构关系
    二维码生成
    SSH整合笔记
    Spring回顾
    struts2 测试错题解析
    Java Script基础
    Java OOP考试错题分析
    接口的用法及注意点
  • 原文地址:https://www.cnblogs.com/fxyfirst/p/3789979.html
Copyright © 2011-2022 走看看