From ca77c9496b373b19dcb3eadd6b40c5dd44bd5547 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Tue, 6 Jan 2026 10:43:58 +0800 Subject: [PATCH] =?UTF-8?q?day09--=E6=8A=BD=E8=B1=A1=E7=B1=BB=E7=9A=84?= =?UTF-8?q?=E4=BD=BF=E7=94=A8&=E4=BD=9C=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- day09/src/com/inmind/abstract06/Animal.java | 9 +++++- day09/src/com/inmind/abstract06/Cat.java | 4 +++ day09/src/com/inmind/abstract06/Demo08.java | 28 +++++++++++++++++++ day09/src/com/inmind/abstract06/Dog.java | 19 +++++++++++++ .../src/com/inmind/abstract06/HelloKitty.java | 18 ++++++++++++ 5 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 day09/src/com/inmind/abstract06/Cat.java create mode 100644 day09/src/com/inmind/abstract06/Demo08.java create mode 100644 day09/src/com/inmind/abstract06/Dog.java create mode 100644 day09/src/com/inmind/abstract06/HelloKitty.java diff --git a/day09/src/com/inmind/abstract06/Animal.java b/day09/src/com/inmind/abstract06/Animal.java index bd24370..9724757 100644 --- a/day09/src/com/inmind/abstract06/Animal.java +++ b/day09/src/com/inmind/abstract06/Animal.java @@ -1,7 +1,14 @@ package com.inmind.abstract06; //抽象类 -public abstract class Animal { +public abstract class Animal { + + public Animal(){ + System.out.println("animal抽象类的无参构造方法执行了"); + } + //动物,请问,你吃什么?? public abstract void eat();//抽象方法 + public abstract void eat1();//抽象方法 + public abstract void eat2();//抽象方法 } diff --git a/day09/src/com/inmind/abstract06/Cat.java b/day09/src/com/inmind/abstract06/Cat.java new file mode 100644 index 0000000..81e3953 --- /dev/null +++ b/day09/src/com/inmind/abstract06/Cat.java @@ -0,0 +1,4 @@ +package com.inmind.abstract06; + +public abstract class Cat extends Animal{ +} diff --git a/day09/src/com/inmind/abstract06/Demo08.java b/day09/src/com/inmind/abstract06/Demo08.java new file mode 100644 index 0000000..a3c83b8 --- /dev/null +++ b/day09/src/com/inmind/abstract06/Demo08.java @@ -0,0 +1,28 @@ +package com.inmind.abstract06; +/* +如何使用抽象类和抽象方法? +1.抽象类不能被创建,只能由子类“实现”了抽象类之后才能创建子类对象 +2.在子类中必须“实现重写”抽象类中的抽象方法 +3.这时创建子类的对象,并调用方法 +------------------------------------------------- +注意事项:(在线教程中查看!!!!) +1. 抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象 +2. 抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的 +3. 抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类 +4. 抽象类的子类,必须重写抽象父类中所有的抽象方法,否则,编译无法通过而报错。除非该子类也是抽象类。 +--------------------------------------- +抽象类的意义 +抽象类的意义是对某一些功能添加约束 +重写,我已经实现了自己该有的功能,子类,可以在此基础选择性扩展功能 + */ +public class Demo08 { + public static void main(String[] args) { + //创建一个动物类对象,调用它的eat方法 +// Animal animal = new Animal();//错误抽象类不能创建对象 + Dog dog = new Dog(); + dog.eat(); + + HelloKitty kitty = new HelloKitty(); + kitty.eat(); + } +} diff --git a/day09/src/com/inmind/abstract06/Dog.java b/day09/src/com/inmind/abstract06/Dog.java new file mode 100644 index 0000000..4c25d27 --- /dev/null +++ b/day09/src/com/inmind/abstract06/Dog.java @@ -0,0 +1,19 @@ +package com.inmind.abstract06; +//alt+enter +public class Dog extends Animal{ + + @Override + public void eat() { + System.out.println("狗吃骨头"); + } + + @Override + public void eat1() { + + } + + @Override + public void eat2() { + + } +} diff --git a/day09/src/com/inmind/abstract06/HelloKitty.java b/day09/src/com/inmind/abstract06/HelloKitty.java new file mode 100644 index 0000000..337d7b7 --- /dev/null +++ b/day09/src/com/inmind/abstract06/HelloKitty.java @@ -0,0 +1,18 @@ +package com.inmind.abstract06; + +public class HelloKitty extends Cat{ + @Override + public void eat() { + System.out.println("我是动漫猫,不吃"); + } + + @Override + public void eat1() { + + } + + @Override + public void eat2() { + + } +}