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

    在下面的示例中,创建了一个数组,使用升序的整数初始化它,并打印索引为偶数的数组值。

    public class DataStructure {
    
        // 创建一个数组
        private final static int SIZE = 15;
        private int[] arrayOfInts = new int[SIZE];
    
        public DataStructure() {
            // 使用升序整数填充数组
            for (int i = 0; i < SIZE; i++) {
                arrayOfInts[i] = i;
            }
        }
    
        public void printEven() {
    
            // 打印数组的偶数索引值
            DataStructureIterator iterator = this.new EvenIterator();
            while (iterator.hasNext()) {
                System.out.print(iterator.next() + " ");
            }
            System.out.println();
        }
    
        interface DataStructureIterator extends java.util.Iterator<Integer> { }
    
        // DataStructureIterator 继承 java.util.Iterator<Integer> 接口
        // 内部类 EvenIterator 实现 DataStructureIterator 接口
    
        private class EvenIterator implements DataStructureIterator {
    
            //
            private int nextIndex = 0;
    
            public boolean hasNext() {
    
                // 检查当前元素是否为最后一个数组元素
                return (nextIndex <= SIZE - 1);
            }
    
            public Integer next() {
    
                // 保存数组索引为偶数的值
                Integer retValue = Integer.valueOf(arrayOfInts[nextIndex]);
    
                // 获取下一个偶数元素
                nextIndex += 2;
                return retValue;
            }
        }
    
        public static void main(String[] args) {
    
            // 用整数值填充数组并打印出数组索引为偶数的值
            DataStructure ds = new DataStructure();
            ds.printEven();
        }
    }
    

    输出结果:

    0 2 4 6 8 10 12 14
    

    注意:EvenIterator类直接引用了DataStructure实例的arrayOfInts变量。

  • 相关阅读:
    ElementUi
    Vue插件
    Vue-cli
    Vue进阶
    Vue组件
    Vue生命期钩子
    Vue基础
    Vue介绍
    logging模块
    time模块
  • 原文地址:https://www.cnblogs.com/nwgdk/p/8673413.html
Copyright © 2011-2022 走看看