s-day02-泛型接口的使用
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
package com.inmind.generic_interface07;
|
||||
|
||||
public class Demo10 {
|
||||
public static void main(String[] args) {
|
||||
//创建实现类1对象
|
||||
MyInterfaceImpl myInterface = new MyInterfaceImpl();
|
||||
myInterface.method("hello");
|
||||
//创建实现类2对象(在实现子类中不确定类型,在创建实现类对象时才确定类型)
|
||||
MyInterfaceImpl2<Integer> myInterface2 = new MyInterfaceImpl2<>();
|
||||
myInterface2.method(123);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.inmind.generic_interface07;
|
||||
/*
|
||||
泛型接口:在接口中定义一个未知类型
|
||||
泛型接口的格式:
|
||||
public interface 接口名<大写字母>{
|
||||
}
|
||||
|
||||
泛型接口的泛型类型何时确定???
|
||||
1.在定义实现子类中直接确定泛型的类型
|
||||
2.在实现子类中不确定类型,在创建实现类对象时才确定类型
|
||||
*/
|
||||
public interface MyInterface<T> {
|
||||
//泛型作为参数
|
||||
void method(T t);
|
||||
//泛型作为返回值
|
||||
T method1();
|
||||
//泛型既作为参数又作为返回值
|
||||
T method2(T t);
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.inmind.generic_interface07;
|
||||
/*
|
||||
泛型接口的泛型类型何时确定???
|
||||
1.在定义实现子类中直接确定泛型的类型
|
||||
*/
|
||||
public class MyInterfaceImpl implements MyInterface<String>{
|
||||
@Override
|
||||
public void method(String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String method1() {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String method2(String s) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.inmind.generic_interface07;
|
||||
|
||||
/*
|
||||
泛型接口的泛型类型何时确定???
|
||||
2.在实现子类中不确定类型,在创建实现类对象时才确定类型
|
||||
*/
|
||||
public class MyInterfaceImpl2<E> implements MyInterface<E>{
|
||||
|
||||
@Override
|
||||
public void method(E e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public E method1() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public E method2(E e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user