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变量。

  • 相关阅读:
    xlwt 写sheet xls 文件
    xlrd 安装步骤
    托管DLL和非托管DLL的区别
    MongoDB 第一篇
    memcache
    gitignore忽略规则
    GIT 学习笔记
    前端渲染模板(一):Thymeleaf
    架构实战项目心得(十四):spring-boot结合Swagger2构建RESTful API测试体系
    架构实战项目心得(十一):基于spring-security-oauth2的mysql数据表设计
  • 原文地址:https://www.cnblogs.com/nwgdk/p/8673413.html
Copyright © 2011-2022 走看看