From 89464bb2d88c75ff163448d4f3010c8bbb73413a Mon Sep 17 00:00:00 2001
From: xuxin <840198532@qq.com>
Date: Sat, 31 Jan 2026 11:59:07 +0800
Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day02-=E6=B3=9B=E5=9E=8B?=
=?UTF-8?q?=E7=B1=BB=E7=9A=84=E4=BD=BF=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/com/inmind/generic04/Factory.java | 32 +++++++++++++++++++
.../inmind/generic04/GenericClassDemo05.java | 22 +++++++++++++
.../com/inmind/generic04/GenericDemo04.java | 2 ++
.../src/com/inmind/generic04/Pad.java | 7 ++++
.../src/com/inmind/generic04/Phone.java | 8 +++++
5 files changed, 71 insertions(+)
create mode 100644 javaSE-day02/src/com/inmind/generic04/Factory.java
create mode 100644 javaSE-day02/src/com/inmind/generic04/GenericClassDemo05.java
create mode 100644 javaSE-day02/src/com/inmind/generic04/Pad.java
create mode 100644 javaSE-day02/src/com/inmind/generic04/Phone.java
diff --git a/javaSE-day02/src/com/inmind/generic04/Factory.java b/javaSE-day02/src/com/inmind/generic04/Factory.java
new file mode 100644
index 0000000..2dcaaeb
--- /dev/null
+++ b/javaSE-day02/src/com/inmind/generic04/Factory.java
@@ -0,0 +1,32 @@
+package com.inmind.generic04;
+/*
+ 能不能在一个类中定义一个未知类型,接收的具体的是什么类型,就返回什么类型,这个数据类型要动态,并省略掉强转操作,也避免类型转换异常???
+ 可以,使用泛型类,在类名加上<任意大写字母>
+ 泛型类的格式:
+ public class 类名<大写字母>
+
+ 泛型类:就是在类中定义了一个未知的类型.
+
+ 泛型类的A类型何时确定?
+ 创建对象时才确定
+
+ 如果要定义多个未知类型,直接写在即可
+
+ */
+//我现在定义了一个A类型的工厂
+//public class Factory {
+public class Factory {
+
+ //修理指定类型的产品,修理什么,就返回什么
+ public A fix(A a) {
+ System.out.println("东西修好了");
+ return a;
+ }
+
+ //已经学习过多态,如果没有泛型,可以使用多态来动态接收不同的类型
+ /*public Object fixO(Object o) {
+ System.out.println("o-东西修好了");
+ return o;
+ }*/
+
+}
diff --git a/javaSE-day02/src/com/inmind/generic04/GenericClassDemo05.java b/javaSE-day02/src/com/inmind/generic04/GenericClassDemo05.java
new file mode 100644
index 0000000..2794c36
--- /dev/null
+++ b/javaSE-day02/src/com/inmind/generic04/GenericClassDemo05.java
@@ -0,0 +1,22 @@
+package com.inmind.generic04;
+
+public class GenericClassDemo05 {
+ public static void main(String[] args) {
+ //买了一个手机
+ Phone phone = new Phone();
+ phone.call();
+
+ //买了一个平板
+ Pad pad = new Pad();
+ pad.play();
+ System.out.println("------------");
+ //手机和平板坏了,找专门的厂家去修理
+ Factory phoneFactory = new Factory<>();
+ Phone fixedPhone = phoneFactory.fix(phone);
+ fixedPhone.call();
+
+ Factory padFactory = new Factory<>();
+ Pad fixedPad = padFactory.fix(pad);
+ fixedPad.play();
+ }
+}
diff --git a/javaSE-day02/src/com/inmind/generic04/GenericDemo04.java b/javaSE-day02/src/com/inmind/generic04/GenericDemo04.java
index 8fa7a03..6577798 100644
--- a/javaSE-day02/src/com/inmind/generic04/GenericDemo04.java
+++ b/javaSE-day02/src/com/inmind/generic04/GenericDemo04.java
@@ -18,6 +18,8 @@ import java.util.ArrayList;
泛型的好处:
1.使用泛型,可以省略强转操作
2.将运行时期的异常提前到了编译时期,为了确保数据操作的安全性
+
+ 注意:java中的泛型是伪泛型,它只有在编译时期有效,运行时期就没有泛型了!!!
*/
public class GenericDemo04 {
public static void main(String[] args) {
diff --git a/javaSE-day02/src/com/inmind/generic04/Pad.java b/javaSE-day02/src/com/inmind/generic04/Pad.java
new file mode 100644
index 0000000..0ccbadf
--- /dev/null
+++ b/javaSE-day02/src/com/inmind/generic04/Pad.java
@@ -0,0 +1,7 @@
+package com.inmind.generic04;
+
+public class Pad {
+ public void play() {
+ System.out.println("在平板上玩游戏");
+ }
+}
diff --git a/javaSE-day02/src/com/inmind/generic04/Phone.java b/javaSE-day02/src/com/inmind/generic04/Phone.java
new file mode 100644
index 0000000..1c785a9
--- /dev/null
+++ b/javaSE-day02/src/com/inmind/generic04/Phone.java
@@ -0,0 +1,8 @@
+package com.inmind.generic04;
+
+public class Phone {
+
+ public void call(){
+ System.out.println("手机在打电话");
+ }
+}