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

This commit is contained in:
2026-05-23 13:24:00 +08:00
parent db361a3082
commit 4c08e64e1f
4 changed files with 45 additions and 0 deletions

View File

@@ -6,6 +6,11 @@ package com.inmind.abstract05;
*/
public abstract class Animal {
public Animal(){
System.out.println("抽象类Animal的构造方法");
}
//动物吃的方法
public abstract void eat();

View File

@@ -0,0 +1,10 @@
package com.inmind.abstract05;
public class Cat extends Animal{
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}

View File

@@ -1,6 +1,22 @@
package com.inmind.abstract05;
/*
如何使用抽象类和抽象方法???
1.抽象类不能被创建对象的,只能通过子类创建对象
2.非抽象的子类,必须实现重写抽象类中的抽象方法
3.创建子类对象,调用对应方法
注意事项:
1. 抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象
2. 抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的
3. 抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类
4. 抽象类的子类,必须重写抽象父类中所有的抽象方法,否则,编译无法通过而报错。除非该子类也是抽象类。
*/
public class Demo06 {
public static void main(String[] args) {
//Animal animal = new Animal();
Dog dog = new Dog();
dog.eat();
Cat cat = new Cat();
cat.eat();
}
}

View File

@@ -0,0 +1,14 @@
package com.inmind.abstract05;
public class Dog extends Animal{
//编译器主动添加默认无参构造
public Dog(){
super();
}
@Override
public void eat(){
System.out.println("狗吃骨头");
};
}