泛型接口
格式:修饰符 interface 接口名 <类型>{...}
范例:public interfae mayiktInterface <T>{...}
示例代码:
MayiktInterface.java 接口
java
package com.collection.Demo05;
public interface MayiktInterface<T> {
T show(T t);
}
MayiktImpl.java 实现类
java
package com.collection.Demo05;
public class MayiktImpl<T> implements MayiktInterface<T> {
@Override
public T show(T t) {
return t;
}
}
Test04.java
java
package com.collection.Demo05;
public class Test04 {
public static void main(String[] args) {
MayiktImpl<String> stringMayikt = new MayiktImpl<>();
String s = stringMayikt.show("mayikt");
System.out.println(s);
MayiktImpl<Integer> integerMayikt = new MayiktImpl<>();
Integer i = integerMayikt.show(10);
System.out.println(i);
}
}
泛型接口与泛型方法
MayiktInterface.java 接口
java
package com.collection.Demo05;
public interface MayiktInterface<T> {
// <T> T show(T t);
<M> T show(T t, M m);
}
/**
* 1. 泛型接口 MayiktInterface<T>
* 2. 泛型方法 <T> T show(T t);
* 注意:如果使用泛型方法<T> T show(T t); 第3个T类型就代表第1个T------泛型方法
* 如果没有使用泛型方法 T show(T t); 第2个 T类型就代表------泛型接口中的T
* <p>
* 问题: 如果即想使用 泛型接口 又想使用 泛型方法
* 解决:<M> T show(T t, M m);
* 这里的参数T类型------代表 泛型接口,参数 M类型------代表 泛型方法
*/
MayiktImpl.java 实现类
java
package com.collection.Demo05;
public class MayiktImpl<T> implements MayiktInterface<T> {
@Override
public <M> T show(T t, M m) {
System.out.println(m);
return t;
}
}
Test04.java
java
package com.collection.Demo05;
public class Test04 {
public static void main(String[] args) {
// MayiktImpl<String> stringMayikt = new MayiktImpl<>();
// String s = stringMayikt.show("mayikt");
// System.out.println(s);
//
// MayiktImpl<Integer> integerMayikt = new MayiktImpl<>();
// Integer i = integerMayikt.show(10);
// System.out.println(i);
MayiktImpl<String> stringMayikt = new MayiktImpl<>();
String s = stringMayikt.show("mayikt", 36);
System.out.println(s);//36 \n mayikt
}
}
下一篇文章: