From aa01eb5ac7f7820566d583cbbc3b3a3c69d0b8a2 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Tue, 13 Oct 2026 15:51:51 +0800 Subject: [PATCH] =?UTF-8?q?s-day02--=E6=B3=9B=E5=9E=8B=E6=96=B9=E6=B3=95?= =?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 --- .../com/inmind/generic_method03/Demo06.java | 16 ++++++++++ .../com/inmind/generic_method03/Factory.java | 32 +++++++++++++++++++ .../src/com/inmind/generic_method03/Pad.java | 13 ++++++++ .../com/inmind/generic_method03/Phone.java | 13 ++++++++ 4 files changed, 74 insertions(+) create mode 100644 s-day02/src/com/inmind/generic_method03/Demo06.java create mode 100644 s-day02/src/com/inmind/generic_method03/Factory.java create mode 100644 s-day02/src/com/inmind/generic_method03/Pad.java create mode 100644 s-day02/src/com/inmind/generic_method03/Phone.java diff --git a/s-day02/src/com/inmind/generic_method03/Demo06.java b/s-day02/src/com/inmind/generic_method03/Demo06.java new file mode 100644 index 0000000..81054a5 --- /dev/null +++ b/s-day02/src/com/inmind/generic_method03/Demo06.java @@ -0,0 +1,16 @@ +package com.inmind.generic_method03; + +public class Demo06 { + public static void main(String[] args) { + //问一下手机修理师傅,您修得挺好,会不会修平板? + Phone phone = new Phone(); + Pad pad = new Pad(); + Factory phoneFactory = new Factory<>(); + System.out.println("平板坏了"); + Pad fixedPad = phoneFactory.fixAll(pad); + fixedPad.study(); + String s = "我是来凑数"; + String fixS = phoneFactory.fixAll(s); + System.out.println(fixS); + } +} diff --git a/s-day02/src/com/inmind/generic_method03/Factory.java b/s-day02/src/com/inmind/generic_method03/Factory.java new file mode 100644 index 0000000..f3a80ab --- /dev/null +++ b/s-day02/src/com/inmind/generic_method03/Factory.java @@ -0,0 +1,32 @@ +package com.inmind.generic_method03; +/* +需求:我们希望在一个工厂类中接私活,定义出一个功能,接收任意类型的数据,动态返回该类型的数据,可以实现吗?? + 可以,只能通过泛型方法 + +泛型方法格式:表示在一个方法中定义了一个未知的类型 + + 方法修饰符 <大写字母> 返回值类型 方法名(参数列表){ + 方法体 + } + + 泛型方法的泛型类型何时确定呢?? + 方法调用时才确定 + + 注意: + 1.泛型在类中和方法中可以定义多个 + 2.泛型类和泛型方法是可以分开定义 + */ +public class Factory { + + //修理T类型的设备即可 + public T fix(T t) { + System.out.println("工厂修理了设备"+t); + return t; + } + + //定义一个方法,这个方法能够修理任意类型(手机,平板,耳机) + public A fixAll(A a) {//泛型方法 + System.out.println("师傅接了私活,修理了:"+a); + return a; + } +} diff --git a/s-day02/src/com/inmind/generic_method03/Pad.java b/s-day02/src/com/inmind/generic_method03/Pad.java new file mode 100644 index 0000000..048c048 --- /dev/null +++ b/s-day02/src/com/inmind/generic_method03/Pad.java @@ -0,0 +1,13 @@ +package com.inmind.generic_method03; + +public class Pad { + + public void study(){ + System.out.println("使用平板来学习"); + } + + @Override + public String toString() { + return "小米平板"; + } +} diff --git a/s-day02/src/com/inmind/generic_method03/Phone.java b/s-day02/src/com/inmind/generic_method03/Phone.java new file mode 100644 index 0000000..750fa14 --- /dev/null +++ b/s-day02/src/com/inmind/generic_method03/Phone.java @@ -0,0 +1,13 @@ +package com.inmind.generic_method03; + +public class Phone { + + public void playApp(){ + System.out.println("手机在玩应用"); + } + + @Override + public String toString() { + return "苹果手机"; + } +}