day09-抽象方法和抽象类的使用以及注意事项

This commit is contained in:
2026-01-23 10:07:18 +08:00
parent 9e506a2695
commit bc615c4b47
4 changed files with 55 additions and 0 deletions

View File

@@ -2,7 +2,24 @@ package com.inmind.abstract07;
//抽象类 //抽象类
public abstract class Animal { 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 eat();//抽象方法:没有方法体的方法
public abstract void eat1();
public abstract void eat2();
} }

View File

@@ -6,4 +6,14 @@ public class Cat extends Animal{
public void eat() { public void eat() {
System.out.println("猫吃鱼"); System.out.println("猫吃鱼");
} }
@Override
public void eat1() {
}
@Override
public void eat2() {
}
} }

View File

@@ -1,4 +1,22 @@
package com.inmind.abstract07; package com.inmind.abstract07;
/*
如何使用抽象类和抽象方法?
1.抽象类不能被创建,只能由子类“实现”了抽象类之后才能创建子类对象
2.在子类中必须“实现重写”抽象类中的抽象方法
3.这时创建子类的对象,并调用方法
注意事项:
1. 抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象
2. 抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的
3. 抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类
4. 抽象类的子类,必须重写抽象父类中所有的抽象方法,否则,编译无法通过而报错。除非该子类也是抽象类。
*/
public class Demo07 { 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();
}
} }

View File

@@ -5,4 +5,14 @@ public class Dog extends Animal{
public void eat() { public void eat() {
System.out.println("狗吃骨头"); System.out.println("狗吃骨头");
} }
@Override
public void eat1() {
}
@Override
public void eat2() {
}
} }