Java 泛型方法和构造函数

您所在的位置:网站首页 自定义泛型调用tostring方法公共方法 Java 泛型方法和构造函数

Java 泛型方法和构造函数

2024-07-15 04:35| 来源: 网络整理| 查看: 265

Java面向对象设计 - Java泛型方法和构造函数泛型方法

我们可以在方法声明中定义类型参数,它们在方法的返回类型之前的尖括号中指定。

包含泛型方法声明的类型不必是泛型类型。

我们可以在非静态方法声明中使用为泛型类型指定的类型参数。

例子

以下代码显示如何为方法m1()定义新的类型参数V.

新类型参数V强制方法m1()的第一个和第二个参数为相同类型。

第三个参数必须是相同的类型T,这是类实例化的类型。

class MyBag { private T ref; public MyBag(T ref) { this.ref = ref; } public T get() { return ref; } public void set(T a) { this.ref = a; } } class Test { public void m1(MyBag a, MyBag b, T c) { } } 使用泛型方法

要传递方法的形式类型参数的实际类型参数,我们必须在方法调用中的点和方法名之间的尖括号中指定它。

class MyBag { private T ref; public MyBag(T ref) { this.ref = ref; } public T get() { return ref; } public void set(T a) { this.ref = a; } } class Test { public void m1(MyBag a, MyBag b, T c) { } } public class Main { public static void main(String[] argv) { Test t = new Test(); MyBag iw1 = new MyBag(new Integer(201)); MyBag iw2 = new MyBag(new Integer(202)); // Specify that Integer is the actual type for the type parameter for m1() t.m1(iw1, iw2, "hello"); t.m1(iw1, iw2, "hello"); } } 例2

以下代码显示了如何声明泛型静态方法。

我们不能在静态方法内引用包含类的类型参数。

静态方法只能引用它自己声明的类型参数。

以下静态通用类型定义了类型参数T,用于约束参数source和dest的类型。

class MyBag { private T ref; public MyBag(T ref) { this.ref = ref; } public T get() { return ref; } public void set(T a) { this.ref = a; } } public class Main { public static void copy(MyBag source, MyBag


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3