From 6bdf2742a2db2468deee419fb51c688ba72d47ba Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Fri, 31 Jul 2026 11:13:44 +0800 Subject: [PATCH] =?UTF-8?q?s-day02-=E6=B3=9B=E5=9E=8B=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E7=9A=84=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inmind/generic_interface07/Demo10.java | 12 ++++++++++ .../generic_interface07/MyInterface.java | 19 +++++++++++++++ .../generic_interface07/MyInterfaceImpl.java | 21 +++++++++++++++++ .../generic_interface07/MyInterfaceImpl2.java | 23 +++++++++++++++++++ 4 files changed, 75 insertions(+) create mode 100644 s-day02/src/com/inmind/generic_interface07/Demo10.java create mode 100644 s-day02/src/com/inmind/generic_interface07/MyInterface.java create mode 100644 s-day02/src/com/inmind/generic_interface07/MyInterfaceImpl.java create mode 100644 s-day02/src/com/inmind/generic_interface07/MyInterfaceImpl2.java diff --git a/s-day02/src/com/inmind/generic_interface07/Demo10.java b/s-day02/src/com/inmind/generic_interface07/Demo10.java new file mode 100644 index 0000000..3b334d4 --- /dev/null +++ b/s-day02/src/com/inmind/generic_interface07/Demo10.java @@ -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 myInterface2 = new MyInterfaceImpl2<>(); + myInterface2.method(123); + } +} diff --git a/s-day02/src/com/inmind/generic_interface07/MyInterface.java b/s-day02/src/com/inmind/generic_interface07/MyInterface.java new file mode 100644 index 0000000..2a45fc7 --- /dev/null +++ b/s-day02/src/com/inmind/generic_interface07/MyInterface.java @@ -0,0 +1,19 @@ +package com.inmind.generic_interface07; +/* + 泛型接口:在接口中定义一个未知类型 + 泛型接口的格式: + public interface 接口名<大写字母>{ + } + + 泛型接口的泛型类型何时确定??? + 1.在定义实现子类中直接确定泛型的类型 + 2.在实现子类中不确定类型,在创建实现类对象时才确定类型 + */ +public interface MyInterface { + //泛型作为参数 + void method(T t); + //泛型作为返回值 + T method1(); + //泛型既作为参数又作为返回值 + T method2(T t); +} diff --git a/s-day02/src/com/inmind/generic_interface07/MyInterfaceImpl.java b/s-day02/src/com/inmind/generic_interface07/MyInterfaceImpl.java new file mode 100644 index 0000000..d079f1b --- /dev/null +++ b/s-day02/src/com/inmind/generic_interface07/MyInterfaceImpl.java @@ -0,0 +1,21 @@ +package com.inmind.generic_interface07; +/* +泛型接口的泛型类型何时确定??? + 1.在定义实现子类中直接确定泛型的类型 + */ +public class MyInterfaceImpl implements MyInterface{ + @Override + public void method(String s) { + + } + + @Override + public String method1() { + return ""; + } + + @Override + public String method2(String s) { + return ""; + } +} diff --git a/s-day02/src/com/inmind/generic_interface07/MyInterfaceImpl2.java b/s-day02/src/com/inmind/generic_interface07/MyInterfaceImpl2.java new file mode 100644 index 0000000..3e9f14b --- /dev/null +++ b/s-day02/src/com/inmind/generic_interface07/MyInterfaceImpl2.java @@ -0,0 +1,23 @@ +package com.inmind.generic_interface07; + +/* + 泛型接口的泛型类型何时确定??? + 2.在实现子类中不确定类型,在创建实现类对象时才确定类型 + */ +public class MyInterfaceImpl2 implements MyInterface{ + + @Override + public void method(E e) { + + } + + @Override + public E method1() { + return null; + } + + @Override + public E method2(E e) { + return null; + } +}