diff --git a/s-day02/src/com/inmind/generic_interface04/Demo07.java b/s-day02/src/com/inmind/generic_interface04/Demo07.java new file mode 100644 index 0000000..43eebcf --- /dev/null +++ b/s-day02/src/com/inmind/generic_interface04/Demo07.java @@ -0,0 +1,13 @@ +package com.inmind.generic_interface04; + +public class Demo07 { + public static void main(String[] args) { + //泛型接口的使用: + //1.情况一 + MyInterfaceImpl impl1 = new MyInterfaceImpl(); + System.out.println(impl1.method1()); + //2.情况二 + MyInterfaceImpl2 impl2 = new MyInterfaceImpl2<>(); + Integer i = impl2.method1(); + } +} diff --git a/s-day02/src/com/inmind/generic_interface04/MyInterface.java b/s-day02/src/com/inmind/generic_interface04/MyInterface.java new file mode 100644 index 0000000..d748124 --- /dev/null +++ b/s-day02/src/com/inmind/generic_interface04/MyInterface.java @@ -0,0 +1,18 @@ +package com.inmind.generic_interface04; +/* + 泛型接口:在接口中定义一个未知类型 + 泛型接口的格式: + public interface 接口名<大写字母>{ + } + + 泛型接口的泛型类型何时确定??? + 1.在定义实现子类中直接确定泛型的类型 + 2.在实现子类中不确定类型,在创建实现类对象时才确定类型 + */ +public interface MyInterface { + T method1(); + + void method2(T t); + + T method3(T t); +} diff --git a/s-day02/src/com/inmind/generic_interface04/MyInterfaceImpl.java b/s-day02/src/com/inmind/generic_interface04/MyInterfaceImpl.java new file mode 100644 index 0000000..0c9815f --- /dev/null +++ b/s-day02/src/com/inmind/generic_interface04/MyInterfaceImpl.java @@ -0,0 +1,18 @@ +package com.inmind.generic_interface04; +//情况一:在实现类定义时,直接确认类型 +public class MyInterfaceImpl implements MyInterface{ + @Override + public String method1() { + return ""; + } + + @Override + public void method2(String s) { + + } + + @Override + public String method3(String s) { + return ""; + } +} diff --git a/s-day02/src/com/inmind/generic_interface04/MyInterfaceImpl2.java b/s-day02/src/com/inmind/generic_interface04/MyInterfaceImpl2.java new file mode 100644 index 0000000..e2acfec --- /dev/null +++ b/s-day02/src/com/inmind/generic_interface04/MyInterfaceImpl2.java @@ -0,0 +1,18 @@ +package com.inmind.generic_interface04; +//情况二 +public class MyInterfaceImpl2 implements MyInterface{ + @Override + public T method1() { + return null; + } + + @Override + public void method2(T t) { + + } + + @Override + public T method3(T t) { + return null; + } +}