Java中的抽象类

定义

注意事项:

抽象类和抽象方法的注意事项:

1.抽象类不能被实例化

2.抽象类不一定有抽象方法,但是有抽象方法的类一定是抽象类

3.可以有构造方法(主要为其子类实例化对象用的)

4.抽象类的子类

要么重写抽象类中所有的抽象方法

要么本身也是抽象类

总结:

练习:

java 复制代码
package Test;
/**
 * @ClassName Animal
 * @author gyf
 * @Date 2024/8/21 10:26
 * @Version V1.0
 * @Description :
*/
public abstract class Animal {
    private String name;
    private int age;

    public Animal() {
    }

    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    public void drink(){
        System.out.println("动物在喝水");
    }
    public abstract void eat();
}
java 复制代码
public class Frog extends Animal{
    public Frog() {
    }

    public Frog(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("青蛙再吃虫子");
    }

}
java 复制代码
public class Dog extends Animal{
    public Dog() {
    }

    public Dog(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("狗在吃骨头");
    }

}
java 复制代码
public class Sheep extends Animal{

    public Sheep() {
    }

    public Sheep(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("山羊在吃草");
    }

}
相关推荐
SamDeepThinking几秒前
用工厂模式和模板方法统一封装所有第三方的Access Token
java·后端·架构
AI人工智能+电脑小能手4 分钟前
【大白话说Java面试题】【Java基础篇】第17题:HashMap的加载因子为什么是0.75而不是1或0.5
java·开发语言·算法·哈希算法·散列表
huipeng9266 分钟前
GateWay使用详解
java·spring boot·spring cloud·微服务·gateway
AKA__Zas13 分钟前
初识多线程(初初识)
java·服务器·开发语言·学习方法
程序员老邢32 分钟前
【重启日记】第五周复盘:持续突破高位,把 “平台期” 变成 “上升期”
java·运维·经验分享·ai·devops
weixin_4196583133 分钟前
RabbitMQ 应用问题
java·分布式·中间件·rabbitmq
Maiko Star34 分钟前
跑通第一个Spring AI 应用
java·后端·spring·springai
2501_9130613434 分钟前
网络原理知识(8)
java·网络·面试
我命由我1234542 分钟前
Android 广播 - 显式广播与隐式广播
android·java·开发语言·java-ee·kotlin·android studio·android-studio
SimonKing43 分钟前
frontend-dev vs ui-ux-pro-max:谁才是Vibe Coding前端开发的“最强辅助”?
java·后端·程序员