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 
  • 相关阅读:
    ARC071F Infinite Sequence
    AGC043C Giant Graph
    ARC006E Addition and Subtraction Hard
    Codechef BALNET Balancing Network Revisited
    Gym102055H Game on the Tree
    Luogu P5320 [BJOI2019]勘破神机
    cookie和session
    jsp介绍
    request请求转换成对象。
    域对象 request
  • 原文地址:https://www.cnblogs.com/fxyfirst/p/3789979.html
Copyright © 2011-2022 走看看