JAVA泛型接口
事例代码:
package com.xt.thins_15_3; import java.util.Iterator; /**
* 泛型接口
*
* @author xue
*
* @param <T>
*/
interface Generic<T> {
public T next();
} /**
* 斐波纳契(一种整数数列),普通类实现
*
* @author xue
*
*/
class Fibonacci implements Generic<Integer> { protected static int count = 0; @Override
public Integer next() {
// TODO Auto-generated method stub
return fib(count++);
} public int fib(int n) {
if (n < 2)
return 1;
return fib(n - 2) + fib(n - 1);
}
} /**
* 迭代适配器迭代斐波纳契(一种整数数列)
*
* @author xue
*
*/
class IterableFibonacci extends Fibonacci implements Iterable<Integer> { private int size; public IterableFibonacci(int size) {
this.size = size;
count = 0;
} @Override
public Iterator<Integer> iterator() {
// TODO Auto-generated method stub
return new Iterator<Integer>() { @Override
public void remove() {
// TODO Auto-generated method stub } @Override
public Integer next() {
// TODO Auto-generated method stub
size--;
return IterableFibonacci.this.next();
} @Override
public boolean hasNext() {
// TODO Auto-generated method stub
return size > 0;
}
};
} } public class FibonacciTest {
public static void main(String[] args) {
Fibonacci fib = new Fibonacci();
for (int i = 0; i < 20; i++) {
System.out.print(fib.next() + ",");
}
System.out.println("\n------------------------------");
IterableFibonacci ifib = new IterableFibonacci(20);
for (Integer integer : ifib) {
System.out.print(integer + ",");
}
}
}
JAVA泛型接口的更多相关文章
- java 泛型接口示例
/* * 泛型接口 */ interface Tool<t> { public void show(T t); //泛型方法 public <e> void print(E e ...
- java泛型接口详解
/* * 泛型接口 */ interface Tool<T> { public void show(T t); //泛型方法 public <E> void print(E e ...
- java 泛型接口和方法
java5后,可以声明泛型接口,声明方式和声明泛型类是一样的. public interface IDAO<T>{} 泛型接口子类有两种方式: 直接在子类后申明泛型: 在子类实现的接口中给 ...
- 全面总结Java泛型
本文对Java泛型进行了全面的总结.文章内容包括普通泛型.通配符.受限泛型.泛型接口.泛型方法.返回泛型类型实例等等. 虽然Scala创始人Martin Odersky说当年正是因为Java泛型的丑陋 ...
- Java 泛型(Generics)
Generics, 类似C++中的模版. 允许在定义类和接口的时候使用类型参数(type parameters), 声明的类型参数在使用的时候用具体的类型来替换. 如 ArrayList<Str ...
- Java泛型用法总结
普通泛型 class Point< T>{ // 此处可以随便写标识符号,T是type的简称 private T var ; // var的类型由T指定,即:由外部指定 public T ...
- (私人收藏)[开发必备]最全Java离线快速查找手册(可查询可学习,带实例)
(私人收藏)[开发必备]最全Java离线快速查找手册(可查询可学习,带实例) https://pan.baidu.com/s/1L54VuFwCdKVnQGVc8vD1TQnwmj java手册 Ja ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- java 泛型 -- 泛型类,泛型接口,泛型方法
泛型T泛型的许多最佳例子都来自集合框架,因为泛型让您在保存在集合中的元素上指定类型约束.在定义泛型类或声明泛型类的变量时,使用尖括号来指定形式类型参数.形式类型参数与实际类型参数之间的关系类似于形式方 ...
随机推荐
- juce中的引用计数
这个类提供了最基本的引用计数管理,界面库中,经常都需要消息发送,而带来的后果就是不知道消息中包含的对象是否还存在,如果不能很好管理的话就容易出现访问销毁了的对象这样的情况,所以,juce的界面无素也基 ...
- Android应用程序架构之res
res/drawable 专门存放png.jpg等图标文件.在代码中使用getResources().getDrawable(resourceId)获取该目录下的资源. res/layout 专门存放 ...
- 超简单TAB切换
<div class="tab-fbox2"> <ul class="title-list2 clearfix"> <li cla ...
- AJAX获取JSON形式的数据
test.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- System.DateTime的一些格式
//2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.To ...
- ICON图标文件解析
icon是一种图标格式,用于系统图标.软件图标等,这种图标扩展名为*.icon.*.ico.常见的软件或windows桌面上的那些图标一般都是ICON格式的. ICON文件格式比较简单,包含文件头段. ...
- mybatis.generator.configurationFile
mybatis.generator.configurationFile 有一个更好的配置方法,可以不用在generateConfig.xml里面写死驱动的地址:如果你的mybatis连接也是在pom. ...
- C语言入门(3)——对Hello World程序的解释
上篇我们写了一个最简单的程序.这个简单的程序包含了很多重要的内容.本篇我们通过这个最简单的Hello World程序逐一讲解C语言程序的一些特点. 打开Visual Studio 2013 通过菜单- ...
- SDL介绍
SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成.SDL提供了数种控制图像.声音.输出入的函数,让开发者只要用相同或是相似的代码就可以开发 ...
- css首行缩进两个字符串
text-indent:2em; 这个属性就可以缩进,但是2em不确定是什么意思:抽空总结一下