如何在Java中创建泛型类?
在此示例中,您将学习如何在Java中创建泛型类。在此博客的先前文章中,您可能已经阅读了如何使用泛型来使用Java集合API,例如List,Set和Map。现在该学习创建一个简单的泛型类了。
作为一个例子,本文将创建一个名为GenericMachine的类,我们可以将不同类型的引擎插入到这台机器中,供机器操作。对于这个演示,我们将创建两种发动机类型,柴油发动机和喷气发动机。让我们看看类是如何在泛型中实现的。
package org.nhooo.examples.generic; public class GenericMachine<T> { private T engine; public GenericMachine(T engine) { this.engine = engine; } private void start() { System.out.println("This machine running on: " + engine); } public static void main(String[] args) { // // 用柴油机创建通用机器。 // GenericMachine<DieselEngine> machine = new GenericMachine<>(new DieselEngine()); machine.start(); // // 用喷气发动机创建另一台通用机器。 // GenericMachine<JetEngine> anotherMachine = new GenericMachine<>(new JetEngine()); anotherMachine.start(); } }
现在,对于两个引擎类,我们将仅创建一个空类,以便GenericMachine可以成功编译该类。这是引擎类:
package org.nhooo.examples.generic; public class DieselEngine { }
package org.nhooo.examples.generic; public class JetEngine { }
类声明中的<T>表示我们希望GenericMachine类具有类型参数。我们还在T类构造函数中使用type参数来传递引擎。