From bc615c4b4775d9e4c8fe1287fb43fcbb54877caf Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Fri, 23 Jan 2026 10:07:18 +0800 Subject: [PATCH] =?UTF-8?q?day09-=E6=8A=BD=E8=B1=A1=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=92=8C=E6=8A=BD=E8=B1=A1=E7=B1=BB=E7=9A=84=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E6=B3=A8=E6=84=8F=E4=BA=8B=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- day09/src/com/inmind/abstract07/Animal.java | 17 +++++++++++++++++ day09/src/com/inmind/abstract07/Cat.java | 10 ++++++++++ day09/src/com/inmind/abstract07/Demo07.java | 18 ++++++++++++++++++ day09/src/com/inmind/abstract07/Dog.java | 10 ++++++++++ 4 files changed, 55 insertions(+) diff --git a/day09/src/com/inmind/abstract07/Animal.java b/day09/src/com/inmind/abstract07/Animal.java index 017600c..bb5eb95 100644 --- a/day09/src/com/inmind/abstract07/Animal.java +++ b/day09/src/com/inmind/abstract07/Animal.java @@ -2,7 +2,24 @@ package com.inmind.abstract07; //抽象类 public abstract class Animal { + int age; + String name; + String color; + //抽象类的无参构造 + public Animal(){ + + } + + //抽象类的有参构造 + public Animal(String name){ + this.name = name; + } + //所有动物都必须实现的行为(吃) public abstract void eat();//抽象方法:没有方法体的方法 + + public abstract void eat1(); + + public abstract void eat2(); } diff --git a/day09/src/com/inmind/abstract07/Cat.java b/day09/src/com/inmind/abstract07/Cat.java index ced32ee..afecbdb 100644 --- a/day09/src/com/inmind/abstract07/Cat.java +++ b/day09/src/com/inmind/abstract07/Cat.java @@ -6,4 +6,14 @@ public class Cat extends Animal{ public void eat() { System.out.println("猫吃鱼"); } + + @Override + public void eat1() { + + } + + @Override + public void eat2() { + + } } diff --git a/day09/src/com/inmind/abstract07/Demo07.java b/day09/src/com/inmind/abstract07/Demo07.java index 7513e20..cd2f59f 100644 --- a/day09/src/com/inmind/abstract07/Demo07.java +++ b/day09/src/com/inmind/abstract07/Demo07.java @@ -1,4 +1,22 @@ package com.inmind.abstract07; +/* +如何使用抽象类和抽象方法? +1.抽象类不能被创建,只能由子类“实现”了抽象类之后才能创建子类对象 +2.在子类中必须“实现重写”抽象类中的抽象方法 +3.这时创建子类的对象,并调用方法 +注意事项: +1. 抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象 +2. 抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的 +3. 抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类 +4. 抽象类的子类,必须重写抽象父类中所有的抽象方法,否则,编译无法通过而报错。除非该子类也是抽象类。 + */ public class Demo07 { + public static void main(String[] args) { +// Animal a = new Animal(); + Dog dog = new Dog(); + dog.eat(); + Cat cat = new Cat(); + cat.eat(); + } } diff --git a/day09/src/com/inmind/abstract07/Dog.java b/day09/src/com/inmind/abstract07/Dog.java index 7f4e3e9..77e2d43 100644 --- a/day09/src/com/inmind/abstract07/Dog.java +++ b/day09/src/com/inmind/abstract07/Dog.java @@ -5,4 +5,14 @@ public class Dog extends Animal{ public void eat() { System.out.println("狗吃骨头"); } + + @Override + public void eat1() { + + } + + @Override + public void eat2() { + + } }