Java 泛型方法和构造函数 |
您所在的位置:网站首页 › 自定义泛型调用tostring方法公共方法 › Java 泛型方法和构造函数 |
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 |