From 787e103e2ea70f390676a8909a2cf30af7224527 Mon Sep 17 00:00:00 2001
From: xuxin <840198532@qq.com>
Date: Sat, 31 Jan 2026 13:50:06 +0800
Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day02-=E6=B3=9B=E5=9E=8B?=
=?UTF-8?q?=E6=96=B9=E6=B3=95=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 | 22 ++++++++++++++++++-
.../inmind/generic04/GenericClassDemo05.java | 12 +++++++++-
2 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/javaSE-day02/src/com/inmind/generic04/Factory.java b/javaSE-day02/src/com/inmind/generic04/Factory.java
index 2dcaaeb..0b58d1e 100644
--- a/javaSE-day02/src/com/inmind/generic04/Factory.java
+++ b/javaSE-day02/src/com/inmind/generic04/Factory.java
@@ -1,5 +1,6 @@
package com.inmind.generic04;
/*
+泛型类:
能不能在一个类中定义一个未知类型,接收的具体的是什么类型,就返回什么类型,这个数据类型要动态,并省略掉强转操作,也避免类型转换异常???
可以,使用泛型类,在类名加上<任意大写字母>
泛型类的格式:
@@ -11,14 +12,27 @@ package com.inmind.generic04;
创建对象时才确定
如果要定义多个未知类型,直接写在即可
+-------------------------------------------------------
+泛型方法:
+需求:我希望在一个工厂中接私活,定义出一个功能行为,接收任意类型的数据,动态返回该类型的数据,可以实现嘛??
+ 可以,但是只能通过泛型方法实现
+ 泛型方法格式:表示在一个方法中定义一个未知的类型
+ 方法修饰符 <任意大写字母>返回值类型 方法名(参数列表){
+ 方法体;
+ }
+
+ 泛型方法的泛型类型何时确定???
+ 当方法被调用时才确定,一般泛型方法中字母尽量不要与泛型类的字母一致
+
+ 注意:泛型类和泛型方法是可以分开定义
*/
//我现在定义了一个A类型的工厂
//public class Factory {
public class Factory {
//修理指定类型的产品,修理什么,就返回什么
- public A fix(A a) {
+ public A fix(A a) {//使用了泛型类中的A类型的普通方法
System.out.println("东西修好了");
return a;
}
@@ -29,4 +43,10 @@ public class Factory {
return o;
}*/
+ //定义了一个未知类型B的泛型方法(接私活)
+ public B fixAll(B b){
+ System.out.println("接了个私活了修理了东西");
+ return b;
+ }
+
}
diff --git a/javaSE-day02/src/com/inmind/generic04/GenericClassDemo05.java b/javaSE-day02/src/com/inmind/generic04/GenericClassDemo05.java
index 2794c36..5fe70e0 100644
--- a/javaSE-day02/src/com/inmind/generic04/GenericClassDemo05.java
+++ b/javaSE-day02/src/com/inmind/generic04/GenericClassDemo05.java
@@ -9,7 +9,7 @@ public class GenericClassDemo05 {
//买了一个平板
Pad pad = new Pad();
pad.play();
- System.out.println("------------");
+ System.out.println("----泛型类的使用--------");
//手机和平板坏了,找专门的厂家去修理
Factory phoneFactory = new Factory<>();
Phone fixedPhone = phoneFactory.fix(phone);
@@ -18,5 +18,15 @@ public class GenericClassDemo05 {
Factory padFactory = new Factory<>();
Pad fixedPad = padFactory.fix(pad);
fixedPad.play();
+ System.out.println("--------泛型方法的使用---------------");
+ Factory factory = new Factory<>();
+ Phone phone1 = factory.fix(phone);
+ phone1.call();
+ //我发现他修理得很好,顺嘴问了下平板会修吗???
+ Pad pad1 = factory.fixAll(pad);
+ pad1.play();
+ Phone phone2 = factory.fixAll(phone);
+ phone2.call();
+
}
}