java:泛型|接口

简介: 泛型也可以用于接口举个例子:例如生成器,专门创建对象的类。创建对象是不需要任何参数。一般的生成器只需要一个方法,该方法生成新的对象。在这个举例中就是next()方法。

泛型也可以用于接口
举个例子:例如生成器,专门创建对象的类。创建对象是不需要任何参数。
一般的生成器只需要一个方法,该方法生成新的对象。在这个举例中就是next()方法。

public interface Generator<T> { T next(); }

next返回的类型是参数化的T。我们可以看到接口使用泛型和类使用泛型没有任何区别。

Generator<T>应用的例子:

public class Fibonacci implements Generator<Integer> {
    private int count = 0;

    public Integer next() {
        return fib(count++);
    }

    private int fib(int n) {
        if (n < 2)
            return 1;
        return fib(n - 2) + fib(n - 1);
    }

    public static void main(String[] args) {
        Fibonacci gen = new Fibonacci();
        for (int i = 0; i < 18; i++)
            System.out.print(gen.next() + " ");
    }
} 
/*
 * Output: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584
 */// :~

目录
相关文章
|
8天前
|
存储 安全 Java
Java的泛型(Generics)技术性文章
Java的泛型(Generics)技术性文章
15 1
|
8天前
|
Java
Java抽象类与接口的技术性文章
Java抽象类与接口的技术性文章
20 1
|
3天前
|
存储 安全 Java
【Java基础】 泛型编程
Java泛型是一种通过参数化类型提升代码复用性和安全性的编程方式,允许在类、接口和方法中使用类型参数。泛型类如`Box&lt;T&gt;`可在实例化时指定类型,泛型方法如`&lt;T&gt; void printArray(T[] array)`在方法声明中指定类型参数。类型通配符如`?`用于增强灵活性,`? extends T`表示类型为T或其子类,`? super T`则为T或其父类。类型擦除保证泛型不增加运行时开销,但会导致某些限制。示例展示了泛型类、方法和无界通配符的综合运用。
14 4
|
4天前
|
Java 程序员
33. 【Java教程】泛型
33. 【Java教程】泛型
12 0
|
4天前
|
安全 Java 数据安全/隐私保护
23. 【Java教程】接口
23. 【Java教程】接口
6 0
|
5天前
|
Java API 应用服务中间件
Java一分钟之-JNDI:Java命名和目录接口
【6月更文挑战第3天】JNDI,Java Naming and Directory Interface,是Java的API,用于访问命名和目录服务。本文聚焦JNDI常见问题和易错点:1) 初始化Context时需正确配置环境属性;2) 查找资源时确保名称与服务器配置一致;3) 别忘了导入JNDI库和妥善处理异常;4) 使用后记得关闭资源。理解JNDI并避免这些问题能提升应用的可维护性和灵活性。
23 2
|
8天前
|
Java
Java语言接口(Interface)的深入解析
Java语言接口(Interface)的深入解析
|
8天前
|
存储 安全 Java
深入探索Java语言泛型编程
深入探索Java语言泛型编程
|
8天前
|
存储 安全 Java
Java的Map接口及其实现类的技术性文章
Java的Map接口及其实现类的技术性文章
7 0
|
8天前
|
存储 安全 Java
Java的List、Set、Queue等接口及其实现类的技术性文章
Java的List、Set、Queue等接口及其实现类的技术性文章
8 1