zoukankan      html  css  js  c++  java
  • JAVA泛型接口

    事例代码:

     1 package com.xt.thins_15_3;
     2 
     3 import java.util.Iterator;
     4 
     5 /**
     6  * 泛型接口
     7  * 
     8  * @author xue
     9  * 
    10  * @param <T>
    11  */
    12 interface Generic<T> {
    13     public T next();
    14 }
    15 
    16 /**
    17  * 斐波纳契(一种整数数列),普通类实现
    18  * 
    19  * @author xue
    20  * 
    21  */
    22 class Fibonacci implements Generic<Integer> {
    23 
    24     protected static int count = 0;
    25 
    26     @Override
    27     public Integer next() {
    28         // TODO Auto-generated method stub
    29         return fib(count++);
    30     }
    31 
    32     public int fib(int n) {
    33         if (n < 2)
    34             return 1;
    35         return fib(n - 2) + fib(n - 1);
    36     }
    37 }
    38 
    39 /**
    40  * 迭代适配器迭代斐波纳契(一种整数数列)
    41  * 
    42  * @author xue
    43  * 
    44  */
    45 class IterableFibonacci extends Fibonacci implements Iterable<Integer> {
    46 
    47     private int size;
    48 
    49     public IterableFibonacci(int size) {
    50         this.size = size;
    51         count = 0;
    52     }
    53 
    54     @Override
    55     public Iterator<Integer> iterator() {
    56         // TODO Auto-generated method stub
    57         return new Iterator<Integer>() {
    58 
    59             @Override
    60             public void remove() {
    61                 // TODO Auto-generated method stub
    62 
    63             }
    64 
    65             @Override
    66             public Integer next() {
    67                 // TODO Auto-generated method stub
    68                 size--;
    69                 return IterableFibonacci.this.next();
    70             }
    71 
    72             @Override
    73             public boolean hasNext() {
    74                 // TODO Auto-generated method stub
    75                 return size > 0;
    76             }
    77         };
    78     }
    79 
    80 }
    81 
    82 public class FibonacciTest {
    83     public static void main(String[] args) {
    84         Fibonacci fib = new Fibonacci();
    85         for (int i = 0; i < 20; i++) {
    86             System.out.print(fib.next() + ",");
    87         }
    88         System.out.println("
    ------------------------------");
    89         IterableFibonacci ifib = new IterableFibonacci(20);
    90         for (Integer integer : ifib) {
    91             System.out.print(integer + ",");
    92         }
    93     }
    94 }
  • 相关阅读:
    Android Studio代码自己主动检測错误提示
    uva 1567
    UWP 新手教程2——怎样实现自适应用户界面
    远程服务的使用场景
    本地服务和远程服务
    本地应用调用远程服务中的方法
    混合方式开启服务
    绑定服务抽取接口
    绑定服务调用服务里的方法
    bind绑定服务的生命周期
  • 原文地址:https://www.cnblogs.com/wubingshenyin/p/4424422.html
Copyright © 2011-2022 走看看