From 47d6b9a897f6115817b02df161c8dfdfbd88d1d5 Mon Sep 17 00:00:00 2001 From: NCJOAQ <2627723488@qq.com> Date: Thu, 10 Jul 2025 18:08:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(class18):=20=E7=BB=A7=E6=89=BF=E5=85=B3?= =?UTF-8?q?=E7=B3=BB=EF=BC=8Cthis,super=EF=BC=8C=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E9=87=8D=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 class18 包中添加了 Test 和 Test2 类,演示了类的继承和方法重写 - 在 class19 包中添加了 Test 类,展示了方法重写的实际应用 --- src/class18/Test.java | 25 +++++++++++++++++++++++++ src/class18/Test2.java | 20 ++++++++++++++++++++ src/class19/Test.java | 22 ++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 src/class18/Test.java create mode 100644 src/class18/Test2.java create mode 100644 src/class19/Test.java diff --git a/src/class18/Test.java b/src/class18/Test.java new file mode 100644 index 0000000..bf1000b --- /dev/null +++ b/src/class18/Test.java @@ -0,0 +1,25 @@ +package class18; + +public class Test { + public static void main(String[] args) { + C c = new C(); + System.out.println(c.a); + System.out.println(c.b); + c.m1(); + } +} +class A{ + int a = 10; + + void m1(){ + System.out.println(a); + } +} + +class B extends A{ + int b = 30; +} + +class C extends B{ + int a = 30; +} diff --git a/src/class18/Test2.java b/src/class18/Test2.java new file mode 100644 index 0000000..f3aef97 --- /dev/null +++ b/src/class18/Test2.java @@ -0,0 +1,20 @@ +package class18; + +public class Test2 { + public static void main(String[] args) { + Zi z = new Zi(); + z.print(); + } +} +class Fu{ + String name = "fu的name"; +} +class Zi extends Fu{ + String name = "zi的name"; + public void print(){ + String name = "局部变量"; + System.out.println(name); // 局部变量 + System.out.println(this.name); // zi的name + System.out.println(super.name); // fu的name + } +} diff --git a/src/class19/Test.java b/src/class19/Test.java new file mode 100644 index 0000000..f9e6db1 --- /dev/null +++ b/src/class19/Test.java @@ -0,0 +1,22 @@ +package class19; + +public class Test { + public static void main(String[] args) { + Cat c = new Cat(); + c.cry(); + + } +} +class Cat extends Animal{ + @Override //方法重写的校验注解,会校验与被重写方法的形参和返回值类型是否一致,保证方法重写安全 + public void cry() { + System.out.println("喵喵喵~~~"); + } +} + +class Animal{ + public void cry(){ + System.out.println("动物会叫~~~"); + } + +}