From b82dafad8a4091acbf754b60953934caf49f8735 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Tue, 13 Oct 2026 15:14:56 +0800 Subject: [PATCH] =?UTF-8?q?s-day02--=E6=B3=9B=E5=9E=8B=E7=B1=BB=E7=9A=84?= =?UTF-8?q?=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- s-day02/src/com/inmind/generic02/Demo05.java | 19 +++++++++++++++++ s-day02/src/com/inmind/generic02/Factory.java | 21 +++++++++++++++++++ s-day02/src/com/inmind/generic02/Pad.java | 13 ++++++++++++ s-day02/src/com/inmind/generic02/Phone.java | 13 ++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 s-day02/src/com/inmind/generic02/Demo05.java create mode 100644 s-day02/src/com/inmind/generic02/Factory.java create mode 100644 s-day02/src/com/inmind/generic02/Pad.java create mode 100644 s-day02/src/com/inmind/generic02/Phone.java diff --git a/s-day02/src/com/inmind/generic02/Demo05.java b/s-day02/src/com/inmind/generic02/Demo05.java new file mode 100644 index 0000000..ef9a15a --- /dev/null +++ b/s-day02/src/com/inmind/generic02/Demo05.java @@ -0,0 +1,19 @@ +package com.inmind.generic02; + +public class Demo05 { + public static void main(String[] args) { + //买了平板与手机,质保,找专门的厂家去修理 + Pad pad = new Pad(); + System.out.println("平板坏了"); + Factory padFactory = new Factory<>(); + Pad fixedPad = padFactory.fix(pad); + fixedPad.study(); + + Phone phone = new Phone(); + System.out.println("手机坏了"); + Factory phoneFactory = new Factory<>(); + Phone fixedPhone = phoneFactory.fix(phone); + fixedPhone.playApp(); + + } +} diff --git a/s-day02/src/com/inmind/generic02/Factory.java b/s-day02/src/com/inmind/generic02/Factory.java new file mode 100644 index 0000000..a3069b4 --- /dev/null +++ b/s-day02/src/com/inmind/generic02/Factory.java @@ -0,0 +1,21 @@ +package com.inmind.generic02; +/* + 能不能在一个类中定义一个未知的类型,接收的具体是什么类型,就返回该类型,这个数据类型要动态,并省略掉强转操作,避免了 + 类型转换异常??? + 可以,使用泛型类,在类名后加上<大写字母> + + 泛型类的格式: + public class 类名<大写字母> + + 泛型类的T类型,何时确定的呢??? + 创建对象时确定该类型 + + */ +public class Factory { + + //修理T类型的设备即可 + public T fix(T t) { + System.out.println("工厂修理了设备"+t); + return t; + } +} diff --git a/s-day02/src/com/inmind/generic02/Pad.java b/s-day02/src/com/inmind/generic02/Pad.java new file mode 100644 index 0000000..84751d0 --- /dev/null +++ b/s-day02/src/com/inmind/generic02/Pad.java @@ -0,0 +1,13 @@ +package com.inmind.generic02; + +public class Pad { + + public void study(){ + System.out.println("使用平板来学习"); + } + + @Override + public String toString() { + return "小米平板"; + } +} diff --git a/s-day02/src/com/inmind/generic02/Phone.java b/s-day02/src/com/inmind/generic02/Phone.java new file mode 100644 index 0000000..d5c4684 --- /dev/null +++ b/s-day02/src/com/inmind/generic02/Phone.java @@ -0,0 +1,13 @@ +package com.inmind.generic02; + +public class Phone { + + public void playApp(){ + System.out.println("手机在玩应用"); + } + + @Override + public String toString() { + return "苹果手机"; + } +}