From a714712f9657932e56e4c358a51116508525ae62 Mon Sep 17 00:00:00 2001 From: NCJOAQ <2627723488@qq.com> Date: Mon, 14 Jul 2025 23:54:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(class22):=20=E5=A4=9A=E6=80=81=E8=B0=83?= =?UTF-8?q?=E7=94=A8=EF=BC=8Cinstanceof=E5=AF=B9=E8=B1=A1=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=A3=80=E6=B5=8B=20-=20=E6=96=B0=E5=A2=9E=20Tortoise?= =?UTF-8?q?=20=E5=92=8C=20Wolf=20=E7=B1=BB=EF=BC=8C=E7=BB=A7=E6=89=BF?= =?UTF-8?q?=E8=87=AA=20Animal=20=E7=B1=BB=E5=B9=B6=E9=87=8D=E5=86=99=20run?= =?UTF-8?q?=20=E6=96=B9=E6=B3=95=20-=20Tortoise=20=E7=B1=BB=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=8B=AC=E6=9C=89=E7=9A=84=20shrinkHead=20=E6=96=B9?= =?UTF-8?q?=E6=B3=95=20-=20=E6=96=B0=E5=A2=9E=20Test=20=E7=B1=BB=EF=BC=8C?= =?UTF-8?q?=E6=BC=94=E7=A4=BA=E5=A4=9A=E6=80=81=E5=92=8C=E5=BC=BA=E5=88=B6?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E8=BD=AC=E6=8D=A2=E7=9A=84=E7=94=A8=E6=B3=95?= =?UTF-8?q?-=20=E5=AE=9E=E7=8E=B0=20go=20=E6=96=B9=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E5=A6=82=E4=BD=95=E6=A0=B9=E6=8D=AE=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1=E7=B1=BB=E5=9E=8B=E8=B0=83=E7=94=A8=E4=B8=8D=E5=90=8C?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/class22/Animal.java | 8 ++++++++ src/class22/Test.java | 36 ++++++++++++++++++++++++++++++++++++ src/class22/Tortoise.java | 12 ++++++++++++ src/class22/Wolf.java | 8 ++++++++ 4 files changed, 64 insertions(+) create mode 100644 src/class22/Animal.java create mode 100644 src/class22/Test.java create mode 100644 src/class22/Tortoise.java create mode 100644 src/class22/Wolf.java diff --git a/src/class22/Animal.java b/src/class22/Animal.java new file mode 100644 index 0000000..2fb675c --- /dev/null +++ b/src/class22/Animal.java @@ -0,0 +1,8 @@ +package class22; + +public class Animal { + + public void run(){ + System.out.println("动物会跑~~~"); + } +} diff --git a/src/class22/Test.java b/src/class22/Test.java new file mode 100644 index 0000000..e440f7a --- /dev/null +++ b/src/class22/Test.java @@ -0,0 +1,36 @@ +package class22; + +public class Test { + public static void main(String[] args) { + Animal a1 = new Tortoise(); + a1.run(); +// 多态无法调用子类独有的方法 +// a1.shrinkHead(); + Tortoise t1 = (Tortoise)a1; + t1.shrinkHead(); +// 强制转换 +// Wolf test1= (Wolf)a1;//运行时异常 + + + + + System.out.println("========================="); + + Wolf w = new Wolf(); + go(w); + Tortoise t = new Tortoise(); + go(t); + } + + public static void go(Animal w){ + System.out.println("开始......"); + w.run(); + if (w instanceof Tortoise) { + Tortoise t=(Tortoise)w; + t.shrinkHead(); + } else if (w instanceof Wolf) { + Wolf w1=(Wolf)w; + w1.run(); + } + } +} diff --git a/src/class22/Tortoise.java b/src/class22/Tortoise.java new file mode 100644 index 0000000..2e062bc --- /dev/null +++ b/src/class22/Tortoise.java @@ -0,0 +1,12 @@ +package class22; + +public class Tortoise extends Animal { + @Override + public void run() { + + System.out.println("🐢跑的贼慢~~"); + } + public void shrinkHead(){ + System.out.println("🐢缩头了~~"); + } +} diff --git a/src/class22/Wolf.java b/src/class22/Wolf.java new file mode 100644 index 0000000..950022f --- /dev/null +++ b/src/class22/Wolf.java @@ -0,0 +1,8 @@ +package class22; + +public class Wolf extends Animal { + @Override + public void run() { + System.out.println("狼跑的贼溜~"); + } +}